#define?M?1000
#include<stdio.h>
int?main()
{
int?n,i,s;
for(n=2;n<=M;n++)
{
s=0;
for(i=1;i<n;i++)
if(n%i==0)
s+=i;
if(s==n)
{
printf("%d,its?factors?are:",n);
?for(i=1;i<n;i++)
?if(n%i==0)
printf("%d?",i);
?printf("\n");
}
}
return?0;
}以上我編寫的程序,然后問題在于最后一個(gè)for循環(huán)語句,本人將下面的if條件補(bǔ)在for里面:for(i=1;i<n&&n%i==0;i++)結(jié)果輸出有誤,希望大家能幫著運(yùn)行這個(gè)程序,兩種情況輸出結(jié)果不一樣,后者明顯錯(cuò)誤,但為什么?發(fā)布
C語言設(shè)計(jì)程序找出完數(shù)中的for循環(huán)問題
Dr_風(fēng)揚(yáng)
2015-04-27 16:17:01