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);
}
}
} 展开
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);
}
}
} 展开
4个回答
展开全部
这个程序输出的是 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要加上这个
}
只不过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要加上这个
}
展开全部
没有语法错误,如果有错误,你可以把错误提示贴上来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是要完成什么功能..
编程不规范...
编程不规范...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道程序的目的是什么,看你想要输出,但是没有输出
知道程序的目的就好办了,楼上的清零加错位置了,应该这样:
#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);
}
}
}
知道程序的目的就好办了,楼上的清零加错位置了,应该这样:
#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);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询