Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4462943
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: C/C++

2011-06-05 13:30:40

递归 和 while

方法一:
设一个长度足够长的字符串,用for循环全身为空或其它特殊符号。
然后用itoa把整数转换成字符串存入。
直接读取字符串非特殊符号的前几位就行了。
如果想转换回来就直接atoi各个位数。

atoi  是 stdlib.h 中定义有的。
但是 itoa  itoa是广泛应用的非标准C语言扩展函数。由于它不是标准,所以不能在所有的编译器中使用。但是,大多数的编译器(如Windows上的)通常在头文件中包含这个函数。在中与之有相反功能的函数是atoi。功能:把一整数转换为字符串。

参考资料:


方法二  递归方法实现  从高位到低位
方法三 while 实现, 从低位到高位
  1. #include<stdio.h>

  2. void gn(unsigned int data) //递归,从 高位到低位
  3. {
  4.     if (data != 0) {
  5.         gn(data / 10);
  6.         printf("%d\n", data % 10);
  7.     }
  8. }

  9. void gn1(unsigned int data) ///从 低位 到 高位
  10. {
  11.     while(data)
  12.     {
  13.         printf("%d\n",data % 10);
  14.         data = data / 10;
  15.     }
  16. }
  17. int main()
  18. {
  19.     unsigned int i = 7786;
  20.     gn(i);
  21.     puts("");
  22.     gn(12345);
  23.     gn1(12345);

  24.     return 0;
  25. }


阅读(1009) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~