设计思路:要把一个实数转换成字符,需要用到它的ascii,程序如下:
/*
cj5.c 实数和字符串之间的转换*/
#include <stdio.h>
#include <math.h>
main()
{
char x='A',y='B',z='a',t='b',dot='a';
int i=0,j=0,k=0,m=0,n=0;
double fa=0,fb=0,fc=0;
printf("please input decimal:");
scanf("%lf",&fa);
i=(int)floor(fa);//i是整数部分
j=i%10;//j是个位数
y=j+65;//48是‘0’的ASCII,y是j的ASCII
k=i/10;//k是i的十位数
x=k+'A';//x是k的ASCII
fb=fa-floor(fa);//得到了fa的小数部分
fb=fb*100;//将小数部分扩大为整数
n=(int)floor(fb+0.1);
printf("after expand 100 and convert to integer:%d\n",n);
k=n/10;//k是第一位小数
z=k+'A';//z是k的ascii
j=n%10;//j是第二位小数
t=j+65;//t是j的ascii
printf("you input is : %lf\n translate to char :%c%c.%c%c\n",fa,x,y,z,t);
}