c语言完数问题_C语言求完数问题

原问题:C语言求完数问题
分类:编程开发 > 最后更新时间:【2016-12-28 06:10:00】
问题补充:

c语言编程:找出200以内所有完数,并输出其因子 输入输出示例:

1=2

6=1+2+3

28=1+2+4+7+14

需要更正的程序:

#include <stdio.h>

int main(void)

{

int i, j, s = 1;

for(i = 1; i <= 200; i++) {

for(j = 2; j <= i/2; j++)

if(i % j == 0

s = s + j;

if(s == i){

printf("%d=1", i);

for(j = 2; j <= i/2; j++)

if(i % j == 0) printf("+%d",j);

printf("\n");

}

}

return 0;

}

最佳答案

改好的参考:

#include <stdio.h>
int main(void) //完数
{
int i, j, s = 1;
for(i = 1; i <= 200; i++)
{
s=1; //s的初始化应该放这里
for(j = 2; j <= i / 2; j++)
if(i % j == 0) //少了个)
s = s + j;
if(s == i)
{
printf("%d=1", i);
for(j = 2; j <= i / 2; j++)
if(i % j == 0) printf("+%d", j);
printf("\n");
}
}
return 0;
}

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
18

分享到:

其他回答

暂无其它回答!

    推荐