#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; }
以上我编写的程序,然后问题在于最后一个for循环语句,本人将下面的if条件补在for里面:for(i=1;i<n&&n%i==0;i++)
结果输出有误,希望大家能帮着运行这个程序,两种情况输出结果不一样,后者明显错误,但为什么?发布
Absolute_Duo