#include <stdio.h>
#define abs(x) ((x)<0?-(x):(x))
void itoa(int n,char s[],const w);
void reverse(char s[]);
int main(int argc, char *argv[])
{
char s[300];
int n=5201314;
itoa(n,s,9);
printf("%s\n",s);
return 0;
}
void itoa(int n,char s[],const w)
{
int sign=n;
int i=0;
do
{
s[i++]=abs(n%10)+'0';
}while((n/=10)!=0);
if(sign<0)
s[i++]='-';
while(i<w)
s[i++]=' ';
s[i]='\0';
reverse(s);
}
void reverse(char s[])
{
int i=0,j;
int len=0;
while(s[i++]!='\0')
len++;
if(len>1)
{
char c;
j=len-1;
i=0;
while(i<j)
{
c=s[i];
s[i]=s[j];
s[j]=c;
i++;
j--;
}
}
}
运行效果: