C语言找错误

#include<stdio.h>main(){inti,j,s,z=0;for(j=2;j<1000;j++){s=j;for(i=1;i<j;i++){if((j%i... #include<stdio.h>
main()
{
int i,j,s,z=0;
for(j=2;j<1000;j++)
{
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
{
z=z+i;
}
}
if(z==j)
{
printf("%6d\n",j);
}
}
}
展开
 我来答
冠兴_2009
2009-08-28 · TA获得超过244个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:146万
展开全部
这个程序输出的是 2-1000中间所有因数相加等于本身的数
只不过Z没有清零
正确的程序如下:
#include<stdio.h>
main()
{
int i,j,s,z=0;
for(j=2;j<1000;j++)
{
s=j;//无意义
for(i=1;i<j;i++)
{
if((j%i)==0)
{
z=z+i;
}
}
if(z==j)
{
printf("%6d\n",j);
z=0;//清零
}
}
getch()//winTC要加上这个
}
dxw0712
2009-08-28 · TA获得超过2180个赞
知道大有可为答主
回答量:1596
采纳率:23%
帮助的人:184万
展开全部
没有语法错误,如果有错误,你可以把错误提示贴上来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情感世界BB
2009-08-28 · TA获得超过2323个赞
知道小有建树答主
回答量:1336
采纳率:100%
帮助的人:564万
展开全部
你是要完成什么功能..
编程不规范...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d3e418b2c
2009-08-28 · TA获得超过2195个赞
知道大有可为答主
回答量:1361
采纳率:0%
帮助的人:1705万
展开全部
不知道程序的目的是什么,看你想要输出,但是没有输出

知道程序的目的就好办了,楼上的清零加错位置了,应该这样:
#include<stdio.h>
main()
{
int i,j,s,z=0;
for(j=2;j<1000;j++)
{
s=j;//无意义
z=0;//清零
for(i=1;i<j;i++)
{
if((j%i)==0)
{
z=z+i;
}
}
if(z==j)
{
printf("%6d\n",j);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式