永发信息网

C语言小错误跪求大神指教

答案:1  悬赏:60  手机版
解决时间 2021-03-27 13:58
  • 提问者网友:未信
  • 2021-03-27 00:20
C语言小错误跪求大神指教
最佳答案
  • 五星知识达人网友:上分大魔王
  • 2021-03-27 00:29
要求一个数的倒序,只需如下就可以了,为什么被你弄得这么复杂呢?

while(num)
{
sum = sum*10 + num%10;
num =num/10;
}追问可是我还是想知道为什么错了TT追答你错在这里:res=res+(number/pow(10,i-1))*pow(10,count-i);

你要把这一句分成两步写就对了。
a=number/pow(10,i-1);
res=res+a*pow(10,count-i);

为什么呢?因为 你写成一句的话,在(number/pow(10,i-1))这里不会取整,而是等你乘完后半句的时候才会取整。比如当你执行第二轮的时候,你希望的是得到2*10的结果,但事实是你得到的是2.34*10=23.4,然后加上刚才的1,得到24.4然后才取整,最终得到的是24。同理,第三轮你得到的不是300,而会是340,再加上24,就会得出364,最后一轮得到4000,所以最终的结果是4364.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯