用c语言做(输入多组数据)

计算阶乘
题目描述
输入一个正整数 n,输出 n! 的值
输入:输入包含多组数据,对于每组数据,仅有一个非负整数 n
输出:对于每组输入,输出一行,表示 n! 的准确值
样例输入:
1
5
样例输出:
1
120
提示:数据规模约定:0<=n<=1000

感觉n太大的话好像算不出来,要用BigInt

#include<stdio.h>

long fun(long x){
    if(x==1) return 1;
    else return fun(x-1)*x;
}

int main(){
    long n;
    while(scanf("%ld",&n)!=EOF){
        printf("%ld\n",fun(n));
    }
    
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-11-18
我以前也有这样的疑问 后来我终于知道原来是这样 这样的输入都是要求最后输入一个Ctrl z结束 直接把eof改成2然后输完数据后 回车是不能结束的 因为计算机还不知道你还是不是继续输入 按Ctrl +z结束就能出结果了追问

你回答的是这题吗

本回答被网友采纳

C语言 多组数据输入,每次输入多行怎么实现?
在这个示例中,首先输入一个整数 numCases 表示数据的组数。然后使用一个 for 循环,从 1 到 numCases 迭代处理每组数据。对于每组数据,首先输入一个整数 numLines 表示该组数据的行数。然后使用另一个 for 循环,从 0 到 numLines-1 迭代读取每行数据。你可以根据具体的需求,修改内层循环中的代码...

c语言问题: 输入格式 输入有多组数据。 每组数据两行。 第一行包含一...
1、首先打开visual studio软件,新建一个C语言文件。2、接着在C语言文件的顶部导入库内容。3、接着运用scanf函数接收用户输入的字符串。4、然后我们利用printf函数打印一下用户输入的内容。5、运行程序以后就会弹出如下图所示的CMD界面,我们输入内容就会自动接收到,然后原样输出内容。6、最后如果你接收其...

C语言中如何实现多组数据输入输出?
C语言中实现多组数据输入输出主要有两种方式: 1.首先输入一个n,表示将有n个输入输出,例如: #include <stdio.h>int main(){ int n,a; scanf("%d",&n); while(n--){ scanf("%d",&a); printf("输出:%d\\n",a); } return 0;}\/*运行结果:3255输出:255156输出:156125输出:125 *\/ 2.使用...

C语言中如何实现多组数据输入输出?
我想线不输出第一组的结果,等我把第二个case输进去之后,按ctrl + Z 后再输出两个case的结果。

c语言中怎样输入多组数据 每组数据个数不确定 每组数据占一行
void main { int i;char *a[10];\/*可以用来存储10组数据的首地址,如果是其他类型的话,定义时用其他类型说明替换char*\/ for(i=0;i<10;i++){ printf("请输入一个字符串数据:");gets(a[i]);\/*这样a[i]指向你输入的字符串首个字符的地址*\/ } for(i=0;i<10;i++)puts(a[i])...

c语言怎么写输入数据有多组,每组输入一个正整数N?
&N);while(N%2==0) N=N\/2;if (N==1) printf("1\\n"); else printf("0\\n");} return 0;} === 你的输入输出例子有点问题。2 应当是组数,输出 时 怎么 把 2 也作为 一个 数据 判断它是否是2 的幂了?如果确实有此要求,你就把 g 也判断和输出一次。

c语言多组数据输入,输出。。。
include<stdio.h>#include<math.h>int main(){size_t T = 0;int i = 0,j = 0,x = 1;printf(""); \/\/提示输入测试数据的组数(即T),懒得写内容了,自己加上去吧233scanf("%d",&T);int n[T],k[T];int sum[T];for(; i<T; i++){scanf("%d %d",&n[i],&k[i]);if(...

C语言,输入多组数据,每行两个,然后对应每行一个输出结果
存到串buf0 if(a||b)\/\/结束的最后一项不输出 strcat(buf,buf0);\/\/追加到最终输出缓冲中 } printf("\\n%s",buf);\/\/输出最终结果 } \/\/全是C语言的,加了全部注释 输入 0 0结束输入,调试运行结果如下:1 2 3 4 100 200 50 200 0 0 3 7 300 250 \/\/如果满意请采纳 ...

c语言输入多组数据
望采纳,谢谢。include<stdio.h>int main(){ int n; while(scanf("%d",&n)!=EOF) { scanf("%d",&n); printf("%d\\n",n); }}或者#include<stdio.h>int main(){ int n; while(~scanf("%d",&n)) { scanf("%d",&n); printf("%d\\n",n);...

求解一道c语言题目 请详细解释一下怎样输入输出多组数据。谢谢!
include<stdio.h>int main(void){ int a[6][5]={{0}}; int i=0,j=0,k=0; int temp; for(i=0;i<6;i++) { for(j=0;j<5;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<6;i++) { for(j=0;j<5;j++) { fo...

相似回答