思路:要有三个变量,一个是用户输入的变量n,一个是输出变量x,一个是用于计数的变量i。计数变量i递增,并与之前的i相乘,算出最后的结果x。
难点:循环的时候,要把输出值初始化为1,否则0乘以后续的i,结果仍为0。
方法如下:
#include <stdio.h>
int main() {
int n;
int x = 1;//输出值需为1,为0不论怎么乘都是0
int i;
scanf("%d", &n);
for (i = 1; n >= i; i++) {
//i从1开始,一直算到n,每次完成循环之后i++
x *= i;
}
printf("%d", x);
return 0;
}
for语句也可以转换为while语句,稍微改造下:
#include <stdio.h>
int main() {
int n;
int x = 1;//输出值需为1,为0不论怎么乘都是0
int i = 1;
scanf("%d", &n);
while (i <= n) {
x *= i;
i++;
}
printf("%d", x);
return 0;
}