搜索
查看: 2268|回复: 8
打印 上一主题 下一主题

求高人解答,这是一道倒序的题,37911067542要倒过来24576011973,请问哪里出错了谢谢

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-30 23:49:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

沙发
发表于 2013-4-30 23:58:16 | 只看该作者
本帖最后由 rosynirvana 于 2013-5-1 00:07 编辑

24,25,26行去掉
主函数在16行已经结束了
或许你需要在14行后面再加一句 system("pause"); ,那么久需要在最前面#include <stdlib.h>

这是语法上的问题

还有语义上的
数组里的那个11,应该是两个1,随之数组长度也是11

此外,第四行的函数声明应该放在主函数外面

最后,11行的inverred应该是inverted
板凳
发表于 2013-5-1 00:06:27 | 只看该作者
最后写个简洁的版本供你参考
用了点c99特性,不过啊哈C应该默认能编译
  1. #include <stdio.h>
  2. #include <stdlib.h>  

  3. int main(void)  
  4. {  
  5.     long long num = 37911067542;
  6.     printf("The original number is %I64d \n", num);
  7.     printf("The inverted number is ");
  8.     while(num>0)
  9.     {
  10.         printf("%I64d", num % 10);
  11.         num /= 10;
  12.     }
  13.     printf("\n");
  14.     system("pause");
  15.     return 0;
  16. }
复制代码
地板
 楼主| 发表于 2013-5-15 21:07:25 | 只看该作者
谢谢你了,有你真好。
5#
发表于 2013-7-30 20:22:50 | 只看该作者
rosynirvana 发表于 2013-5-1 00:06
最后写个简洁的版本供你参考
用了点c99特性,不过啊哈C应该默认能编译
  1. ("%I64d", num % 10);
复制代码
这段是什么函数。看到瞬间迷茫
6#
发表于 2013-7-30 20:33:23 | 只看该作者
超神级 发表于 2013-7-30 20:22
这段是什么函数。看到瞬间迷茫

就是printf
%I64d是64位整数的占位符(或者说long long int的占位符)
7#
发表于 2013-7-30 20:51:56 | 只看该作者
rosynirvana 发表于 2013-7-30 20:33
就是printf
%I64d是64位整数的占位符(或者说long long int的占位符)

我刚才试验了这个代码如果吧
  1. num % 10
复制代码
的%10去掉它输出的就不是倒序数。如果把
  1. num /= 10;
复制代码
我把这个/去掉它就无限的输出0.不知道
  1. while(num>0)
  2.     {
  3.         printf("%I64d", num % 10);
  4.         num /= 10;
  5.     }
复制代码
这个条件怎么实现了输出倒序数麻烦给讲下行吗
8#
发表于 2013-7-30 20:59:32 | 只看该作者
超神级 发表于 2013-7-30 20:51
我刚才试验了这个代码如果吧的%10去掉它输出的就不是倒序数。如果把我把这个/去掉它就无限的输出0.不知道 ...

就是每次都输出个位上的数字
你自己找个例子trace一下那段代码就知道了⋯⋯

比如说最开始的数字是123
123%10 输出3
a = (123/10) = 12
12 % 10 输出2
⋯⋯
9#
发表于 2013-7-30 21:06:14 | 只看该作者
rosynirvana 发表于 2013-7-30 20:59
就是每次都输出个位上的数字
你自己找个例子trace一下那段代码就知道了……

明白了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表