c++程序为什么运行没错但就是没结果呢?求大神知道?错哪儿了?

#include<iostream.h>#include<iomanip.h>#include<math.h>voidmain(){inta,j,k=0;ints;for... #include<iostream.h>
#include<iomanip.h>
#include<math.h>
void main()
{
int a,j,k=0;
int s;
for(int i=100;;i++){
if(i%10==8){
j=i;
while(j!=0){
j=j/10;
k++;
}
a=i/10;
s=8*pow(10,k)+a;
if(s==4*i){
cout<<i<<endl;
break;
}
}
}
}
展开
 我来答
平生居
2013-03-21 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:96.7万
展开全部
程序的意图我这样理解: 将一个尾数为8的整数i,将8提到数字的最前面得到s,要求s==i*4。
如果是这样,k就是计算i是多少位用的,那就需要在while循环前置0,否则结果不对。
程序在没有获得结果前就将k累计的很大,于是也不可能得到结果
眼眶的湿润
2013-03-21 · TA获得超过3279个赞
知道小有建树答主
回答量:806
采纳率:50%
帮助的人:575万
展开全部
能不能说说你这段代码计算的目的是什么呢?
不懂你的目的就无从知道你的错误了

你可能要注意一点的就是整数相除结果为整数,你的代码里有两个地方都使用了整数相除,但是我不确定这是不是错误的原因,还请你描述一下你程序的目的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l346242498
2013-03-23
知道答主
回答量:23
采纳率:0%
帮助的人:15.4万
展开全部
确实是个无限循环,没有符合你要求的条件的数,或者很大,电脑很难算出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
满满19930
2013-03-21
知道答主
回答量:30
采纳率:0%
帮助的人:6.7万
展开全部
第一个for那里 missing ';' before 'type'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小鸣5566
2013-03-21 · TA获得超过540个赞
知道小有建树答主
回答量:1061
采纳率:0%
帮助的人:901万
展开全部
没看明白这段代码的目的,但在循环中k从来不赋0,没问题吗?会很大吧,特别是pow一下。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘项原
2013-03-21 · TA获得超过933个赞
知道小有建树答主
回答量:920
采纳率:0%
帮助的人:530万
展开全部
你这个程序里没有输出语句,怎么会有什么结果呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式