求1000以内的完数,
求1000以内完数,并按下列格式输出:6 its factors are 1,2,3
#include <stdio.h>void main(){ int n=1000,i,j,a,b=0; for(j=2;j<=n;j++) { for(i=1;i<j;i++) { a=j%i; if(a==0) b=b+i; } if(b==j) { printf("%d its factors are ",j); for(i=1;i<j;i++) { a=n%i; if(a==0) printf("%d ",i); } } }}#include <stdio.h>void main(){ int n=1000,i,j,a; for(j=2;j<=n;j++) { int b = 0; //定义局部变量 for(i=1;i<j;i++) { a=j%i; if(a==0) b=b+i; } if(b==j) { printf("%d its factors are ",j); for(i=1;i<j;i++) { a=j%i; //这里是j不是n if(a==0) printf("%d ",i); } printf("\n"); } }}
[解决办法]
for(j=2;j<=n;j++)
{
后面加上 b=0;