/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
第9行:for(number = 1; number <= member;number++) 修改为:for(number = 1; number < member; number++)
说明printf语句只被触了一次。可以多加一些打印,同时减少循环次数看一下是哪里的问题。直接调试也可以。
#include<stdio.h>
int main(){
int i,j,k,sum;
for(i =1;i<=1000;i++){
sum = 0;
for(j = 1;j<=i/2;j++){
if(i%j==0){
sum= sum+j;
}
}
if(sum == i){
printf("%d=1",i);
for(k = 1;k<=i/2;k++){
if(i%k==0){
if(k==1)continue;
printf("+%d",k);
}
}
printf("\n");
}
}
}
看看这个,或许能给你一点思路