用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结束就能出结果了追问

你回答的是这题吗

本回答被网友采纳
相似回答