多组数阶乘

天涯浪子 提交于 2020-01-30 07:03:15

Description
筒子想求出若干个数每个数的阶乘,请你帮他吧!
Input
若干数N(0<=N<=20)
Output
每个数的阶乘

Sample Input 1
1
2
3

Sample 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;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!