题目截图:
思路:
将输入存储到字符数组中,然后求各位和,然后根据和的每一位输出。
代码:
1 /* 2 1002.写出这个数 3 */ 4 5 #include <stdio.h> 6 #include <string.h> 7 #include <math.h> 8 #include <stdlib.h> 9 #include <time.h> 10 11 // num[i] 表示 i 的拼音 12 char num[][10] = {"ling", "yi", "er", "san", "si", "wu", 13 "liu", "qi", "ba", "jiu"}; 14 15 int main() { 16 char str[102]; 17 scanf("%s", str); 18 int i, len=strlen(str), sum=0; 19 for(i=0; i<len; ++i) { // 计算各位和 20 sum += str[i]-‘0‘; 21 } 22 char s[5]; 23 int n=0; 24 while(sum) { // 分离和的每一位 25 s[n++] = sum%10; 26 sum /= 10; 27 } 28 for(i=n-1; i>=0; --i) { // 从高位开始输出 29 printf("%s", num[s[i]]); 30 if(i != 0) { 31 printf(" "); 32 } 33 } 34 35 return 0; 36 }