题目来源杭电oj1002
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
一
二十二
三
环境:vs2019
四
一百
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
一
二十二
三
环境:vs2019
四
一百
int main()
{
int i[5]; //将数的每一位数取出来存放到数组里
int b = 0; //第一个数存放的标志位
int c = 0;
scanf("%d",&c); //输入有几个数
int j[10]; //最多10个
for(int n = 0; n<c; n++)
scanf("%d",&j[n]);//循环输入数据
int m = 0;
while(m<c) //将输入的数据依次处理
{
while(j[m])
{
i[b] = j[m]%10; //先将每个数字最后一个数拿出来
j[m] = j[m]/10; //给数除十
if(j[m])
b++; //计算数据存放位置
}
for(; b>=0; b--) //将每个数据进行输出
{
if(b)
{
switch(i[b])//用switch语句判断数字输出结果
{
case 1:printf("十");break;
case 2:printf("二十");break;
case 3:printf("三十");break;
case 4:printf("四十");break;
case 5:printf("五十");break;
case 6:printf("六十");break;
case 7:printf("七十");break;
case 8:printf("八十");break;
case 9:printf("九十");break;
}
}
else
{
switch(i[b])
{
case 1:printf("一");break;
case 2:printf("二");break;
case 3:printf("三");break;
case 4:printf("四");break;
case 5:printf("五");break;
case 6:printf("六");break;
case 7:printf("七");break;
case 8:printf("八");break;
case 9:printf("九");break;
}
}
}
m++; //处理下一个数字
b = 0;
printf("\n"); //输出后换行
}
return 0;
}