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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shao 中级黑马   /  2015-5-28 14:10  /  901 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请大家帮忙看看下面的代码问题在哪额。。。。:'(:'(

  1. /*
  2. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3. 编程找出999以内的所有完数。
  3. */
  4. #include <stdio.h>

  5. int main()
  6. {
  7.    
  8.    
  9.     for (int i = 1; i <= 999; i++) //查看999以内所有的数
  10.     {
  11.         int sum = 0;
  12.         for (int count = 1; count < i; count++)  //判断是否是完数
  13.         {
  14.             if (i%count == 0 )
  15.             {
  16.                 sum += count;
  17.             }
  18.             if (i == sum)
  19.             {
  20.                 printf("%d是完数\n",i );
  21.             }
  22.         }
  23.     }
  24.    
  25.     return 0;
  26. }
复制代码

4 个回复

倒序浏览
水平有限,没看懂你的代码,你注释的也有点少,帮顶
回复 使用道具 举报
我搬走研究下
回复 使用道具 举报
  1. #include <stdio.h>

  2. int main()
  3. {
  4.    
  5.    
  6.     for (int i = 1; i <= 999; i++) //查看999以内所有的数
  7.     {
  8.         int sum = 0;
  9.         for (int count = 1; count < i; count++)  //判断是否是完数
  10.         {
  11.             if (i%count == 0 )
  12.             {
  13.                 sum += count;
  14.             }
  15. //            if (i == sum)
  16. //            {
  17. //                printf("%d是完数\n",i );
  18. //            }
  19.         }
  20.         //换个位置
  21.         if (i == sum)
  22.         {
  23.             printf("%d是完数\n",i );
  24.         }
  25.     }
  26.    
  27.     return 0;
  28. }
复制代码
回复 使用道具 举报
if没有嵌套正确
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马