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;
}


更多推荐

C语言自学路之将小写数字完美转换成大写数字