C语言将数字转成大写中文数字

153 阅读1分钟
#include <stdio.h>
#include <ctype.h> //内置函数头文件

int main()
{
    //转换大小写
    //printf("大写:%c", toupper('a')); //将小写字母转大写字母

    //思考题:如何将用户输入的小写数字转换成中文大写
    //如:1234 - 壹仟贰佰叁拾肆元整
    int money, count = 0; //count是数字位数
    int i = 0;
    int moneys[6];//默认支持6位数字
    char unit[10][4] = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
    printf("请输入金额:");
    scanf("%d",&money);
    //判断用户输入了几位数字?将每一位数字取出来
    while(money != 0)
    {
        moneys[i] = money % 10;
        money /= 10; // 去掉最后一位
        i++;
        count++;
    }
    printf("用户输入的数字一共有%d位!\n", count);
    printf("数组中的内容: \n");
    for(i = 0;i < count; i++)
    {
        printf("%d - %s\n", moneys[i], unit[moneys[i]]);
    }
    //壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万
}