C基础习题,TC上可编译运行,无输出,求解
谭浩强C 习题6.7找1000以内“完数”,即因数和相加等于自身的数, 如6=1+2+3
我的程序部分如下
int a,s,y; /*其中y为a的因数,s为a的因数和*/
for(a=1;a<1000;a++)
{
for(y=1;y<=a/2;y++) /*计算a的因数和*/
if(a%y==0)s+=y;
if(s==a) /*判断是否为“完数”*/
{
printf("%d its factore are ",s);
for(y=1;y<=a/2;y++) /*输出a的全部因数*/
if(a%y==0)printf("%d ",y);
}
}
该程序可运行,没有任何输出,求解