C语言问题:下面是代码:请大家帮我看看这段代码为什么只输出6,谢谢了
#include<conio.h>#include<stdio.h>intmain(){intsum=0;inti=0;intcount=0;for(sum=6;sum<...
#include <conio.h>
#include <stdio.h>
int main()
{
int sum=0;
int i=0;
int count=0;
for(sum=6;sum<=10000;sum++)
{
count=sum;
for(i=0;i<5;i++)
{
if((count-1)%5==0)
{
count=count-1-(count-1)/5;
}
}
if(sum==4)
{
printf("%d ",sum);
break;
}
}
getch();
} 展开
#include <stdio.h>
int main()
{
int sum=0;
int i=0;
int count=0;
for(sum=6;sum<=10000;sum++)
{
count=sum;
for(i=0;i<5;i++)
{
if((count-1)%5==0)
{
count=count-1-(count-1)/5;
}
}
if(sum==4)
{
printf("%d ",sum);
break;
}
}
getch();
} 展开
5个回答
展开全部
你说你的这个代码能输出6,我不相信。
你这个代码是输不出6的。
这个程序其实什么也不做,就只是消耗时间(当然,有时候消耗时间不是不好,有时候是目的的消耗)
因为你这里的for循环for(sum=6;sum<=10000;sum++)已经给sum赋值为6
你的输出语句是在if语句里面
if(sum==4)
{
printf("%d ",sum);
break;
}
sum原本就被赋值为6,sum++,只有增加的趋势,所以if(sum==4)是永远不能成立的
也就是说,printf语句一次也没有被执行到
所以这个程序什么也不输出
如果这个程序是正确的,那么它纯是用来消耗时间的而已
你这个代码是输不出6的。
这个程序其实什么也不做,就只是消耗时间(当然,有时候消耗时间不是不好,有时候是目的的消耗)
因为你这里的for循环for(sum=6;sum<=10000;sum++)已经给sum赋值为6
你的输出语句是在if语句里面
if(sum==4)
{
printf("%d ",sum);
break;
}
sum原本就被赋值为6,sum++,只有增加的趋势,所以if(sum==4)是永远不能成立的
也就是说,printf语句一次也没有被执行到
所以这个程序什么也不输出
如果这个程序是正确的,那么它纯是用来消耗时间的而已
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个代码能输出数据? 不能的
if(sum==4) //sum不可能为4,所以不会出数据。
{
printf("%d ",sum);
break;
}
if(sum==4) //sum不可能为4,所以不会出数据。
{
printf("%d ",sum);
break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序是正确的,我在这段程序的几个for,if之间设置了几个断点来debug调试,发现起初count只是4,而sum从4开始递增,在程序最后我加了printf("%d,%d\n",count,sum);,结果是1000和1001。我不清楚你要输出的和你计算的有什么关联。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序发错了吧,sum==4永远也不成立啊~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询