Chinaunix首页 | 论坛 | 博客
  • 博客访问: 393691
  • 博文数量: 105
  • 博客积分: 4100
  • 博客等级: 上校
  • 技术积分: 1040
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-27 19:57
文章存档

2012年(1)

2011年(9)

2010年(4)

2009年(25)

2008年(66)

我的朋友

分类: 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*/

阅读(937) | 评论(0) | 转发(0) |
0

上一篇:关于冒泡法

下一篇:字符串的排序

给主人留下些什么吧!~~