PAT:1002書き込みこの数(C言語版)

桁、各桁の和を計算し、ピンインを書き込むために、正の整数nを読み出します。

入力フォーマット:
各試験は、自然数nの値が与えられ、すなわち、テスト入力を含みます。ここで、n確保するために10未満である
100

出力フォーマット:
数字1つのスペースの合計の行nの各々 、ピンインデジタル出力との間が、スペースなしで最後の行ピンインデジタルました。

サンプル入力:
1234567890987654321123456789

出力例:
李呉サン

#include <stdio.h>
#include <string.h>

int sum(char *c);
void NumtoPinyin(int n);

int main()
{
    int total = 0;
    char c[101];

    gets(c);
    total = sum(c);
    NumtoPinyin(total);

    return 0;
}
int sum(char *c)
{
    int i, n, total = 0;

    i = 0;
    while(c[i] != '\0')
        total = total + c[i++] - '0';

    return total;
}
void NumtoPinyin(int n)
{
    int a[10], i = 0;
    char *pinyin[10] = {"ling", "yi", "er", "san", "si", "wu",
    "liu", "qi", "ba", "jiu"};

    while(n != 0)
    {
        a[i++] = n%10;
        n = n / 10;
    }
    --i;
    while(i >= 0)
    {
        if (i == 0)
        {
            printf("%s", pinyin[a[i]]);
            break;
        }
        printf("%s ", pinyin[a[i]]);
        i--;
    }
}
公開された24元の記事 ウォンの賞賛0 ビュー160

おすすめ

転載: blog.csdn.net/qq_45624989/article/details/105041903