|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
预期结果:请帮忙解一下这题,如果能附加注释是最好的了,谢谢,新手上路
Problem Description
给出在[0, 100]范围内的整数数字,你能把对应的中文写出来吗?
Input
第一行输入一个T (T <= 20),后面每行一个数字,题目保证数字是[0, 100]。
Output
第一行输入一个T (T <= 20),后面每行一个数字,题目保证数字是[0, 100]。
Sample Input
5
1
22
3
4
100
Sample Output
一
二十二
三
四
一百
- #include <stdio.h>
- int main(){
- int num;
- char* digit[12] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"}; //存入所有中文字符,方便等下输出
- scanf("%d", &num);
-
- if(num <= 10) printf("%s", digit[num]); // 当整数小于等于 10(1, 2, 3 .... 10)
- else if(num < 20) printf("十%s", digit[num%10]); // 当整数小于 20(11, 12, 13 .... 19)
- else if(num < 100){ // 当整数小于 100(20, 21, 22 .... 99)
- int a = num%10; // 取个位数
- int b = (num - a)/10; // 取十位数
- if(!(a)) printf("%s%s", digit[b], digit[10]); // 当个位数为 0
- else printf("%s%s%s", digit[b], digit[10], digit[a]); // 当个位数不是 0
- }
- else printf("一百"); // 当整数为 100 整
-
- return 0;
- }
复制代码
|
|