编写一个C程序,将用户输入的数字转换成中文大写,比如输入123,输出“壹贰叁”

 我来答
第一碗羊杂割
推荐于2016-01-23 · TA获得超过6145个赞
知道大有可为答主
回答量:1107
采纳率:80%
帮助的人:562万
展开全部
#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 1000

int main() {

int i = 0, j = 0;
char * original, * result, * converted_char;

original = malloc(sizeof(char) * MAX_SIZE);
result = malloc(sizeof(char) * MAX_SIZE * 2);
converted_char = malloc(sizeof(char) * 2);

printf("请输入罗马数字:");
scanf("%s", original);

while (original[i] != '\0') {

switch (original[i]) {

case '1': converted_char = "壹"; break;
case '2': converted_char = "贰"; break;
case '3': converted_char = "叁"; break;
case '4': converted_char = "肆"; break;
case '5': converted_char = "伍"; break;
case '6': converted_char = "陆"; break;
case '7': converted_char = "柒"; break;
case '8': converted_char = "捌"; break;
case '9': converted_char = "玖"; break;
case '0': converted_char = "零"; break;

}

result[j] = converted_char[0];
result[j + 1] = converted_char[1];

j += 2;
i++;

}

result[j] = '\0';
printf("转换后的大写数字:%s", result);

free(original);
free(result);
free(converted_char);

return 0;

}


结果如下:


慎重还可靠灬宝贝f
2015-09-01 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2615万
展开全部
自己编吧。
用个字符数组存储输入数据。
再读取数组,接着配合用上switch语句就能满足你的要求。

谢谢采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-05-10
展开全部
假如使用 习语言 作为 编程工具, 也可以这么写:

整数类型 数字;
汉字类型 中文数字;

数字 = 输入整数();
中文数字 = 数字转中文( 数字, ‘繁体’);
输出字(中文数字);

仅供参考。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式