C 语言 输入一个5~10之间的整数n,求1!+2!+3!+…+n!.例如输入5,输出为:1!+2!+3!+…+5!=153

2024-12-11 23:57:52
推荐回答(5个)
回答1:

#include
main()
{
int s=0,p=1,i,n,j;
scanf("%d",&n);
if(n<5||n>10)
return 0;
for(i=1;i<=n;i++)
{
p=1;
for(j=1;j<=i;j++)
p*=j;
s+=p;
}
printf("%d",s);
}

您好,很高兴为您解答,流星不死为您答疑解惑

如果本题还有不懂的地方请追问,望采纳我的回答。

祝楼主学习进步。

上面的代码可以直接复制到编译器里,带换行。

回答2:

//C 语言 输入一个5~10之间的整数n,求1!+2!+3!+…+n!.例如输入5,输出为:1!+2!+3!+…+5!=153
#include
#include
void main()
{
int n=0;
int sum=0;
int sum1=1;
while(1)
{
printf("N=");
scanf("%d",&n);
if(n<5 || n>10)
printf("ERROR:5=else
break;
}

for(int i=1;isum1=1;
for(int j=1;j<=i;j++){
sum1=sum1*j;
}
sum+=sum1;
}
for(int i=1;iprintf("%d!",i);
i!=n ? printf("+"): printf("=");
}
printf("%d\n\n",sum);
system("pause");
}

回答3:

#include 
int main()
{
    int r=0,f=1;
    int n,i;
    scanf("%d",&n);
    for(i = 1; i <= n; i ++)
    {
        f*=i;
        r+=f;
        printf("%d!%c", i, i==n?'=':'+');
    }
    printf("%d\n",r);
    return 0;
}

回答4:

#include 
main()
{
    int s=0,p=1,i,n,j;
    scanf("%d",&n);
    if(n<5||n>10)
        return 0;
    for(i=1;i<=n;i++)
    {
        p=1;
        for(j=1;j<=i;j++)
            p*=j;
        s+=p;
    }
    printf("%d",s);
}

回答5:

#include
#include
unsigned long long fact(int n);
int main(void)
{
printf(" 请输入一个不大于10的正整数: ");
while(scanf("%d",&num) == 1)
{
if(num<0)
printf(" 不能为负数!\n");
else if(num>10)
printf(" 数据不能大于10!\n");
else
{
printf(" 计算 %2d! 的结果: %llu\n",num,fact(num));
}
printf(" 请输入一个不大于10的正整数: ");
}
printf("\n 再见!\n");
return 0;
}
unsigned long long fact(int n)
{
unsigned long long ans;
for(ans=1;n>1;n--)
ans *=n;
return ans;
}
注:提示可改用英文。