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了!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-06-30

C编写程序输出在6个数中找出最大数和最小数。```c#include \u003cstdio.h\u003eint main() { int num[6]; int max = 0, min = 0; printf(\"请输入6个整数:\\"); for(int i = 0; i \u003c 6; i++) { scanf(\"%d\", \u0026num[i]); // 初始化最大值和最小值 if(i == 0) { max = num[i]; min = num[i]; } // 判断是否为最大值或最小值 if(num[i] \u003e max) { max = num[i]; } else if(num[i] \u003c min) { min = num[i]; } } printf(\"最大数为:%d\\", max); printf(\"最小数为:%d\\", min); return 0;}```运行结果:```请输入6个整数:285931最大数为:9最小数为:1```
第2个回答  2013-09-14
#include <stdio.h>
int main()
{
    int i,j;
    int sum=0;
    for(i=6; i<=1000; i++)
    {
        sum=0;
        for(j=1;j<i/2+1;j++)
        {
            if(i%j==0)
            {
                //printf("%d\n",j);  
                sum += j;
            }
        }
        if(sum == i)
        {
            printf("该整数[%d]为合数\n", i);
        }
    }
    return 0;
}

第3个回答  2013-09-18
/*******************************************************/
/*        首先计算number的因子                    */
/*        如果整除则n为number的因子                    */
/*        计算因子的和sum 如果等于number               */
/*        那么,number为合数                           */
/*******************************************************/
#include <stdio.h>

    int main(){
    int number=6;//合数
    int n=1;//因子
    int sum=0;//计算因子之和
    int count=0;//合数的个数

    while(number<=1000){
         while(n <= number/2){
             if(number%n == 0){
                sum += n;
            }
            n++;
        }
        if(sum == number){
            printf("%d\n", number);
        }
        number++;
        sum=0;
        n=1;
    }
    return 0;
}

第4个回答  2023-06-30
不确定您的问题是什么,但是如果您想编写程序来输出\"在6\",您可以使用以下代码:```c#include \u003cstdio.h\u003eint main() { printf(\"在6\\"); return 0;}```这个程序使用了标准库函数`printf`来打印输出文本\"在6\",然后返回0表示程序正常结束。
相似回答