作业帮 > 综合 > 作业

C语言编一程序输出在6-1000内的所有合数,合数是指一个数等于其诸因子之和的数.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 09:22:29
C语言编一程序输出在6-1000内的所有合数,合数是指一个数等于其诸因子之和的数.
例如:6=1+2+3,28=1+2+4+7+14,则6、28就是合数.
#include<stdio.h>
int main()
{
    int i,j,k,sum;
    printf("6—1000内的合数:\n");
    for(i=6;i<=1000;i++)
    {
        sum=1;
        for(j=2;j<i;j++)
        {
             if(i%j==0)
            {
                sum=sum+j;
            }
         }
          if(i==sum)
          {
               printf("%d=1",i);
               for(k=2;k<i;k++)        
               {
                    if(i%k==0)
                          printf("+%d",k);    //以等式形式输出它的因子
               }
                printf("\n");               //每个输出后换行
           }
     }
     return 0;

}

运行结果:

再问: return 0;是什么意思?把它去掉结果好像也对
再答: 它是函数返回值! return 0是正常退出,它就是结束程序用的,在程序里面,当计算机执行到return 语句后无论后面有多少语句都不再执行,直接终止程序!return 非零,是异常退出,这是返回给控制台的,不在你编的程序的控制范围内,是给操作系统识别的,对你的程序无影响。在C中,定义void main()可以不用返回值。这里面我前面定义的是int main()所以在程序写完了需要返回一个整型函数值给它!你可以用void main()那样的话就不需要return 0了!