#include <stdio.h>
int main()
{
int i,j,sum;
for(i=1;i<1000;i++)//循环输出1-1000的数字
{
sum=0;//注意这里每次循环都要将sum置零
for(j=1;j<i;j++)//将完数与1-自身(不包含自身)之内的数进行检测
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)//注意这里放的位置
{
printf("完数有:%d \n",i);
}
}
return 0;
}
注意:最后判定sum==i所放的位置!!!
完数举例:6=1*2*3
本文详细解析了一个C语言程序,它通过双重循环检测1到1000之间的整数是否为完数,并在找到后输出。完数示例如6=1*2*3。关键部分在于理解如何初始化sum并正确判断每个数是否为完数。
1784





