完数
#include<stdio.h>main()
{
int x,y,c,i,sum,t=0;
scanf("%d%d",&x,&y);
if(x>y)
{t=x;x=y;y=t;}
for(c=x;c<=y;c++)
{ sum=0; //sum的初始值为什么不能定义在外面呀
for(i=1;i<=c/2;i++)
{if(c%i==0)
sum+=i;
}
if(c==sum)
printf("%d",c);
}
} 因为每次循环开始的时候都需要让 sum = 0,如果移到循环以外,就无法做到了。 jackz007 发表于 2021-11-24 19:56
因为每次循环开始的时候都需要让 sum = 0,如果移到循环以外,就无法做到了。
谢谢您
页:
[1]