码迷,mamicode.com
首页 > 其他好文 > 详细

整数转换字符串

时间:2015-04-13 16:01:44      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:

思路:首先确定整数的长度,这样做有两个好处。

  • 一个是用于节省内存,因为要事先申请字符串地址空间;
  • 一个是长度后,可以直接取整数的高位,不需要从个位取,从个位取构成的字符串后面还需要一个逆序

具体代码如下:

/*
 *整数转化成字符串
*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

char *IntToString(int a)
{
    int temp=a;//保存a的值
    int len;//缓存用地
    int b=a%10; 
    int count=0;//计算整数的长度
    char *string;
    while(b!=0)
    {
        count++;
        a=a/10;
        b=a%10;
        if(b==a)
            break;
    }
    count++;
    string=(char *)malloc(count+1);
    b=temp%10;
    len=count;
    printf("count=%d\n",count);
    while(temp)
    {
        a=temp/Mypow10(--count);
        (*string++)=a+0;
        temp=temp-a*Mypow10(count);
    }
    *string=0;
    string=string-len;
    return string;
}


int Mypow10(int a)
{
    if(a<0)
        return 0;
    int i=1;
    int sum=1;
    for(i=1;i<=a;i++)
    {
        sum=sum*10;
    }
    return sum;
}
int main(void)
{
    int a=123;
    printf("请输入一个整数:\n");
    scanf("%d",&a);
    char *b=IntToString(a);
    printf("%s\n",b);
    return 0;
}

 

整数转换字符串

标签:

原文地址:http://www.cnblogs.com/longzhongren/p/4422383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!