鱼C论坛

 找回密码
 立即注册
查看: 4010|回复: 3

求高手帮忙把每行代表的意思注释一下,谢谢!

[复制链接]
发表于 2013-9-11 19:33:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:
一个数如果恰好等于它的因数之和,这个数就称为“完数”。如 6 的因子为1,2,3,而6=1+2+3,因此6是“完数”。编写程序找出1000之内的所有完数,并按下面格式输出其因子;
6 its factors are 1 2 3

答案程序如下 :
#include<stdio.h>
int main()
{
    int m,s,i;
for(i=2;m<1000;m++)
{  s=0;
    for (i=1;i<m;i++)
      if ((m%i)==0)  s=s+i;
    if (s==m)  
    { printf("%d,its factors are ",m);
      for(i=1;i<m;i++)
   if(m%i==0) printf("%d ",i);
      printf("\n");
    }
}
return 0;
}

求大虾们帮忙注释下每行的意思。

还有就是书上显示的运行结果是这样 123123123.jpg 的;
但我把程序写进后运行出来时这样的 456456456.jpg ,为什么一模一样的程序运行出来我的却会多出一行0的呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-9-11 19:40:11 | 显示全部楼层
  1. #include<stdio.h>
  2. int main()
  3. {
  4.     int m,s,i;
  5.         for(m=2;m<1000;m++)        //m从2到9999,这里你写错了,是m不是i。
  6.         {  s=0;
  7.     for (i=1;i<m;i++)
  8.                 if ((m%i)==0)  s=s+i;        //i能整除m,i就是m的因子,加到s。
  9.                 if (s==m)  //如果s等于m,说明m是完数
  10.                 { printf("%d,its factors are ",m);
  11.                 for(i=1;i<m;i++)
  12.                         if(m%i==0) printf("%d ",i);        //打印m的因子
  13.                         printf("\n");
  14.                 }
  15.         }
  16.         return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-11 21:07:05 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-15 11:47:20 | 显示全部楼层
路过看一看有什么好东西收藏一下,强烈支持楼主ing……37738
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-6 07:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表