C语言自学路之将小写数字完美转换成大写数字
# define N 6;6位及以内的整数(小数点后不计)
PS:中间两条测试数组正确性的可以忽视,我只是每敲一点都喜欢运行测试一下…
#include <stdio.h>
#include <stdlib.h>
#define N 6
int main()
{
int money;
int i=0;
int count=0;//记录用户输入数字位数
int money_s[N];
int temp=0;//临时存放变量
char num[10][4]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
char unit[6][8]={"拾万","万","仟","佰","拾","元整"};
//一个中文占4个字节
printf("请输入整数为6位及以内的金额(小数点后忽略不计):\n");
for(;;)
{
scanf("%d",&money);
if(money/1000000>=1)
{
printf("输入有误!\n");
}
else{break;}
}
printf("您输入的金额为:%d。\n",money);
for(i=0;i<10;i++)//测试num数组正确性
{
printf("num数组第%d位为:%s\n",i+1,num[i]);
}
for(i=0;i<6;i++)//测试unit数组正确性
{
printf("数组第%d位为:%s\n",i+1,unit[i]);
}
for(i=0;i<N;i++)//取出用户每一位数字
{
money_s[i]=money%10;
money/=10;
count++;
if(money==0)
{
break;
};
}
for(i=0;i<count;i++)//打印数组中用户每一位数字
{
printf("%d\n",money_s[count-i-1]);
};
printf("\n");
for(i=0;i<count;i++)
{
temp=money_s[count-i-1];
printf("%s\t",num[temp]);
printf("%s\t",unit[6-count+i]);
temp=0;
}
return 0;
}
转载:https://blog.csdn.net/simon_ZMeng/article/details/104978794
查看评论