改好了,看注释
#include
int main ()
{
int a = 1, i = 1, b = 0;
while (a <= 1000)
{
while (i < a) //不应该包括a本身
{
if (a % i == 0)
b += i; //多了++
i++;
}
if (b == a)
{
printf ("%d its factors are ", a);
i = 1;
while (i < a) //不应该包括a本身
{
if (a % i == 0)
printf ("%d,", i); //斜杠是干什么用的?多了++
i++;
}
printf("\n"); //加个换行
}
a++;
b = 0;
i = 1;
}
return 0;
}
# include
int main()
{
int a,b,c,s;
//int count=0;
//int x[1000];
for(a=2;a<1000;a++)
{
s=0;
for(b=1;b {
c=a%b;
if(c==0)
{
//x[count++]=b;
s=s+b;
}
}
if(s==a)
{
printf("%d\n",a);
/* printf("%d=",a);
while(count>1)
{
printf("%d+",x[--count]);
}
printf("%d\n",x[--count]);*/
}
// count=0;
}
return 0;
}
这就是不用数组的结果,如果你把我所有的注释去掉就会看到一个更漂亮的结果