A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© disgusting 中级黑马   /  2014-6-7 00:22  /  1042 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 disgusting 于 2014-6-7 22:51 编辑

/*
题目:请用户输入一个正整数 n(n>=1) 并且计算1!+2!+3!+……+n!的值

比如用户输入3的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
*/


#include <stdio.h>

int pieAdd(int n);
int main()
{
int n=0
while (n<=0)
        {
    printf ("请输入一个正整数");
        scanf("%d",&n);
        }
int result = pieAdd(n);
printf("%d\n",result);
return 0;
}

int pieAdd(int n)
{   
   if(n<=0) return 0;
   int sum = 0;
   for (int i=1;i<=n;i++)
   {
    int multi=0;
      for(j=1;j<=i;j++)
           {
            multi=multi*j;
           }
        sum=sum+multi;
   }
return sum;
}

点评

仍需仔细啊  发表于 2014-6-7 22:51

8 个回复

倒序浏览
你这花括号的位置。。。。。。。。
回复 使用道具 举报
顶一个。
回复 使用道具 举报
本帖最后由 张家伟2014 于 2014-6-7 20:12 编辑
  1. #include <stdio.h>

  2. int pieAdd(int n);
  3. int main()
  4. {
  5. int n=0
  6. while (n<=0)
  7.         {
  8.     printf ("请输入一个正整数");
  9.         scanf("%d",&n);
  10.         }
  11. int result = pieAdd(n);
  12. printf("%d\n",result);
  13. return 0;
  14. }

  15. int pieAdd(int n)
  16. {   
  17.    if(n<=0) return 0;
  18.    int sum = 0;
  19.    for (int i=1;i<=n;i++)
  20.    {
  21.     int multi=0;
  22.       for(j=1;j<=i;j++)
  23.            {
  24.             multi=multi*j;
  25.            }
  26.         sum=sum+multi;
  27.    }
  28. return sum;
  29. }
复制代码
一、06行错误:结尾缺少;,修正如下:
  1. int n = 0;
复制代码
二、23行错误:变量multi初值应为1,修正如下:
  1. int multi = 1;
复制代码

三、24行错误:变量j未定义,修正如下:
  1. for (int j = 1; j <= i; j++)
复制代码


评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

回复 使用道具 举报
chain 发表于 2014-6-7 02:16
你这花括号的位置。。。。。。。。

。。我用notepad++写的。。这花括号我已经尽量让看起来可读性好点了
回复 使用道具 举报
张家伟2014 发表于 2014-6-7 12:55
一、06行错误:结尾缺少;,修正如下:二、23行错误:变量multi初值应为1,修正如下:
三、24行错误:变量j ...

哦,原来如此 谢谢了。
回复 使用道具 举报
张家伟2014 发表于 2014-6-7 12:55
一、06行错误:结尾缺少;,修正如下:二、23行错误:变量multi初值应为1,修正如下:
三、24行错误:变量j ...

你这粘贴的是用的啥编译器还是编辑器?
回复 使用道具 举报
支持一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马