整数化成字符串

时间:2022-10-23 22:29:16

给定一个整数(有可能是负数),将整数变成字符串。函数已经声明好类似void change(int number, char s[])的形式。

代码如下:

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

void change(int& number, char s[])
{  
    int m=0;
    int p;
    if(number>0)
    {
        while(number)
        {
            s[m++]=number%10+'0';
            number=number/10;
        }
        s[m]='\0';
        int i=0,j=m-1;
        while(i<j)
        {
            p=s[i];
            s[i]=s[j];
            s[j]=p;
            i++;j--;
        }
    }
    else 
    {
        if(number<0)
        {
            number=-number;
            s[m++]='-';
            while(number)
            {
                s[m++]=number%10+'0';
                number=number/10;
            }
            s[m]='\0';
            int i=1,j=m-1;
            while(i<j)
            {
                p=s[i];
                s[i]=s[j];
                s[j]=p;
                i++;j--;
            }
        }
        else
        {
            s[m++]='0';
            s[m]='\0';
        }
    }
}
int main()
{
    int num;
    char s[10000];
    scanf("%d",&num);
    change(num,s);
    printf("%s",s);
}