Chinaunix首页 | 论坛 | 博客
  • 博客访问: 654101
  • 博文数量: 150
  • 博客积分: 4070
  • 博客等级: 中校
  • 技术积分: 1795
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-23 21:44
文章分类

全部博文(150)

文章存档

2012年(1)

2011年(123)

2010年(26)

分类: C/C++

2011-06-23 10:40:17

非递归:
  1. #include <iostream>
  2. #include <assert.h>
  3. using namespace std;

  4. char *ItoA(int num)
  5. {
  6.     char *str = NULL;
  7.     int len = 0;
  8.     int temp = num;
  9.     while (temp != 0)    //计算整数的长度,以为后面字符串申请空间的长度
  10.     {
  11.         len++;
  12.         temp /= 10;
  13.     }
  14.     str = new char[len+1];
  15.     int number, i = len - 1;
  16.     while (num != 0)
  17.     {
  18.         number = num % 10;
  19.         str[i] = number + '0';
  20.         num /= 10;
  21.         i--;
  22.     }
  23.     str[len] = '\0';
  24.     return str;
  25. }

  26. int main()
  27. {
  28.     char *p;
  29.     p = ItoA(4781256);
  30.     cout<<p<<endl;
  31.     delete []p;
  32.     
  33.     return 0;
  34. }
递归实现:
  1. void Itoa(int num)
  2. {
  3.     if (num <= 0)
  4.     {
  5.         return;
  6.     }
  7.     else
  8.     {
  9.         char ch;
  10.         ch = num % 10 + 48;
  11.         Itoa(num/10);
  12.         putchar(ch);
  13.     }
  14. }
阅读(744) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~