#include<stdio.h>
#include<string.h>
void choice(int n); //选择函数
//思路:第一步:定义一个字符数组,使用getchar函数读入一串数字存放在字符数组中。
// 第二步:将字符数组中的数字字符转换成数字,并且求和存放在变量sum中。
// 第三步:将求出的和中的每一位数字使用对10取余再除以10的方法取出每一位。(此时逆序)
// 第四步:将第三步的数据交换成正序。(当然也可以不变成正序)
// 第五步:遍历正序排列的数组中每一个元素,将该元素值和对应的汉语拼音进行匹配。(switch)
//注意:控制好最后一个空格的输出。
int main(void)
{
int i, temp, sum = 0, index, cnt=0;
char ch;
int a[4] = {0};
char str[110];
ch = getchar();
for(i = 0; ch != '\n'; i++) //用字符数组存储数字序列
{
str[i] = ch;
cnt++;
ch = getchar();
}
for (i = 0; i < cnt; i++) //对字符数组求和(注意转换成数字)
{
sum += str[i] - '0';
}
for (i = 0; sum != 0; i++) //将求出的和的每一位逆序保存到数组中 523
{
temp = sum % 10;
a[i] = temp;
index = i;
sum = sum / 10;
}
for (i = 0; i < (index + 1)/2; i++) //将数字正序存放 325
{
temp = a[i];
a[i] = a[index - i];
a[index - i] = temp;
}
for (i = 0; i <= index; i++) //最后一个空格的控制方法
{
choice(a[i]); //发送数组元素值
if (i != index) //控制最后一个空格,将空格变成换行。
{
printf(" ");
}
else
{
printf("\n");
}
}
return 0;
}
void choice(int n)
{
switch (n)
{
case 0:printf("ling"); break;
case 1:printf("yi"); break;
case 2:printf("er"); break;
case 3:printf("san"); break;
case 4:printf("si"); break;
case 5:printf("wu"); break;
case 6:printf("liu"); break;
case 7:printf("qi"); break;
case 8:printf("ba"); break;
case 9:printf("jiu"); break;
}
return;
}
1002. 写出这个数 (20)
最新推荐文章于 2019-02-26 13:49:38 发布