1002. 写出这个数

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:
在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
Note:这题思路很简单,读取字符-累和-输出字符。字符数组的定义可以用char *[],否则要用二维的,一维表数字,二维表示每一个字符对应的存储字符长度。

#include<stdio.h>
#include<string.h>
int main()
{
    char c;
    int sum = 0;
    char a[10][5] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};//字符要用双引号
    while ((c=getchar())!='\n') sum += c-'0';//一直输入数字直到回车代表结束,'0'代表0是以ASCII码参与运算
    if (sum/100)//判断百位是否为零
        printf("%s ", a[sum/100]);//输出百位
    if (sum/10)//判断十位是否为零
        printf("%s ", a[sum/10%10]);//输出十位
    printf("%s", a[sum%10]);//一位数不需要判断直接输出
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_37701948/article/details/80037905
今日推荐