PAT乙級1002. 寫出這個數(C語言)
阿新 • • 發佈:2019-01-30
#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;
}