Description
筒子想求出若干个数每个数的阶乘,请你帮他吧!
Input
若干数N(0<=N<=20)
Output
每个数的阶乘
Sample Input 1
1
2
3Sample Output 1
1
2
6
阶乘本来很容易实现,但是多组数的阶乘纠结了一会,其实这就回到了多组输入输出的问题,利用文件结束标志EOF将判断条件设为scanf("%d",&n)!=EOF就OK了。
还有一个就是要注意,因为是计算多组数的阶乘,所以在每次计算一个n的阶乘之前,都要把s重新赋为1,切记!!!
#include <stdio.h>
int main(){
int n,i;
long s=1;
while(scanf("%d",&n)!=EOF){
if(n<=1){
s=1;
printf("%ld\n",s);
}
else{
s=1;//将s重新赋为1
for(i=1;i<=n;i++){
s*=i;
}
printf("%ld\n",s);
}
}
return 0;
}
本文介绍了一种计算多组数阶乘的方法,通过使用文件结束标志EOF作为判断条件,解决了多组输入输出的问题。同时强调了在每次计算前重新初始化变量的重要性。
782

被折叠的 条评论
为什么被折叠?



