1. 程式人生 > 其它 >PAT乙級1002 寫出這個數 (20分)

PAT乙級1002 寫出這個數 (20分)

技術標籤:PAT乙級c語言演算法

PAT乙級1002 寫出這個數 (20分)

讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。

輸入格式:
每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10
​100
​​ 。

輸出格式:
在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後一個拼音數字後沒有空格。

在這裡插入圖片描述

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
    char s[105]={};
    char* str[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    int sum = 0;
    scanf("%s",s);
    for(int i=0;i<strlen(s);i++)
    {
        sum=sum+(s[i]-'0');
    }
    int s2[4]={};
    int l = 0;
    while(sum!=0)
    {
        s2[l++] = sum%10;
        sum /= 10;
    }
    for(int i=l-1; i >=0 ; i--)
    {
        if(i != l-1)
            printf(" ");
        printf("%s",str[s2[i]]);
    }
}