描述:
计算整型数据阶乘。
1. 算子递增
算子递增,并定义循环控制变量
解法一:while
循环
#include<stdio.h>
int main()
// 循环结构 while 实现阶乘计算
{
int n = 1 ;
int i = 1 ;
int product = 1 ;
scanf("%d",&n);
while(i<=n){
product = product*i;
i ++;
}
printf("循环执行次数为%d\n",i-1);
printf("循环结束时i的值为%d\n",i);
printf("n!的结果为%d\n",product);
return 0;
}
解法二:do {} while()
循环结构
#include<stdio.h>
int main()
{
int n = 1 ;
int i = 1 ;
int product = 1 ;
scanf("%d",&n);
do {
product = product*i;
i ++;
}while(i<=n);
printf("循环执行次数为%d\n",i-1);
printf("循环结束时i的值为%d\n",i);
printf("n!的结果为%d\n",product);
return 0;
}
解法三:for()
循环结构
{
int n = 1 ;
int i;
int product = 1 ;
scanf("%d",&n);
for(i=1;i<=n;i++) { //对于一开始的i=1,当i<=n时,重复做循环体,每一轮循环在做完循环体内语句后,使得i++
product = product*i;
}
printf("循环执行次数为%d\n",i-1);
printf("循环结束时i的值为%d\n",i);
printf("n!的结果为%d\n",product);
return 0;
}
2.算子递减
算子递减,可不使用循环控制变量
解法:for
循环结构
{
int n = 1 ;
int num=0 ;
int product = 1 ;
scanf("%d",&n);
num = n;
for(;n>=1;n--) {
product = product*n;
}
printf("循环执行次数为%d\n",num);
printf("循环结束时n的值为%d\n",n);
printf("n!的结果为%d\n",product);
return 0;
}
总结:循环选用技巧
- 当有固定循环次数时,用
for
- 若循环至少需要执行一次,用
do{ }while()
- 其他情况,用
while