PAT-字符串处理-B 1002 写出这个数 (20分)
方知有 人气:4题目:
思路:
先用字符串数组存储输入数字,然后依据num[i]-'0'对输入数字求和。然后对求和后的数字,进行分割,存储到数组中,然后遍历数组,依据存储汉语拼音的字符串二维数组进行输出
注意点:
注意输出末尾不能有空格
代码:
1 #include<iostream> 2 #include<stdio.h> 3 #include<cstring> 4 using namespace std; 5 6 //存储求和后的数字 7 int res[110]; 8 //存储输入数字 9 char num[110]; 10 //存储汉语拼音 11 char al[10][5] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; 12 13 int main() 14 { 15 int sum = 0, count = 0; 16 17 scanf("%s", num); 18 19 //获取求和 20 for (int i = 0;i < strlen(num);i++) 21 { 22 sum += num[i] - '0'; 23 } 24 25 //获取求和后的每位数字 26 do 27 { 28 res[count++] = sum % 10; 29 sum /= 10; 30 } while (sum != 0); 31 32 //依据题意进行输出 33 for (int i = count - 1;i >= 0;i--) 34 { 35 printf("%s", al[res[i]]); 36 if (i != 0)printf(" "); 37 } 38 return 0; 39 }
加载全部内容