分类: C/C++
2008-07-27 20:50:23
将整数转化为一个
#include
#define LENGTH 10
void IntToChar(int *p,int k,int n)
{
if(k!=0)
{
*(p+k--)=n%10+48;/*在ascii中的码的顺序,相差的值为48*/
IntToChar(p,k,n/10);
}
else
{
*(p+k)=n+48;
return;
} /*如果n是一位数,则*(p+0),即a[0]等于此数,对于多位数,已除到数的最高位*/
}
void main()
{
int a[LENGTH],i,j=0,n,m; /*j用于判断输入数n是几位数*/
printf("Please input the integer wanted to change:\n");
scanf("%d",&n);
m=n; /*m仅为方便下步while循环中判断n为几位数的参数*/
while(m/10!=0) /*while循环中判断n为几位数*/
{ m=m/10;
j++;
}
IntToChar(a,j,n); /*a[LENGTH]为存储转化后字符的数组*/
printf("The changed char is:\n");
for(i=0;i<=j;i++)
printf("%c",a[i]);
}
/*说明:*/
/*由于各种c编译器对int型数据的取值范围不一样,可能会有不同的结果*/
/*Turbo C 中int的范围为不能超过32767*/