叶子不会码 2021-10-04 23:16 采纳率: 100%
浏览 29
已结题

一个运行出来错误的答案

#include<stdio.h>
int main()
{
int i,n,a;
for(i=1,a=0;i<=20;i++)
{
for(n=1;n<=i;n++)
{n=n*n;
printf("%d\n",n);}
a=n+a;
}
printf("%d\n",a);
return 0;
}
问题是:6.求 1!十2!十3!-十4.…+20!)。

结果输出的是433

  • 写回答

2条回答 默认 最新

  • GHOX 2021-10-04 23:24
    关注

    您好,您这道题的意思是 1的阶乘 + 2的阶乘 + ... + 20的阶乘 吗?
    不得不说我真的没看懂您的代码写的是什么
    不过我帮你改好了,只需要一个循环

    #include<stdio.h>
    int main()
    {
        int i,n,a;
    //    for(i=1,a=0;i<=20;i++)
    //    {
    //        for(n=1;n<=i;n++)
    //        {
    //            n=n*n;
    //            printf("%d\n",n);
    //        }
    //        a=n+a;
    //    }
        for(i=1,a=0,n=1;i<=20;i++)
        {
            n=n*i; 
            a=a+n;
        } 
        printf("%d\n",a);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 创建了问题 10月4日