1. 程式人生 > >PAT乙級1002. 寫出這個數(C語言)

PAT乙級1002. 寫出這個數(C語言)

AC

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

int main() {
    char num[101];//輸入的數字 < 10^{100},即數字的位數 < 101
    scanf("%s", num);
    int sum = 0, len = strlen(num); //各位數字之和(易知<= 900);數字的位數
    for (int i = 0; i < len; i++) {
        sum += num[i] - '0';
    }
    char pinyin[10][5] = {"ling"
, "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; if (sum / 100 > 0) {//和 >= 100 輸出百位數 printf("%s ", pinyin[sum / 100]); } if (sum / 10 > 0) {//和 >= 10 輸出十位數 printf("%s ", pinyin[sum / 10 % 10]);//注意百位數的干擾 } printf("%s\n", pinyin[sum % 10]);//輸出個位數 return 0; }