形容诗写得好的诗句:C语言问题!

来源:百度文库 编辑:高校问答 时间:2024/05/09 05:18:10
求1000以内的所有完数,完数即一个数正好等于它所有因子的和,即为完数如6=1*2*3,6即是完数!
我用Turbo C for Windows编写后,运行时弹出CMD窗口,但就一个光标在闪,什么内容也没有,怎么回事,麻烦哪位帮我看看出了什么问题,谢谢
main()
{
int sum,n,t,k;
sum=0;
for(n=1;n<=1000;n++);
{
for(k=2;k<=n;k++);
{
while(n!=k);
{
if(n/k==0)
sum=sum+k;
n=n/k;
}
}
}
t=sum+1;
if(n==t)
printf("%d",n);
}

sum=0; 应该n循环内部 不过这不是主要问题

主要问题是while(n!=k);造成了死循环

给出我的程序供参考

main()
{int i,j,s;
for(i=1;i<=1000;i++)
{
s=0;
for(j=1;j<i;j++)
if(i%j==0) s=s+j;
if(i==s)
printf("%d\n",i);
}
}

粗略看了一下,while语句后面怎么可以有;呢那样是无限循环了,循环体为空
把分号去掉