PAT a1082题解

来源:互联网 发布:ios 网络协议 编辑:程序博客网 时间:2024/06/16 04:45
#include <cstdio>#include <cstring>char num[10][15] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};char wei[5][5] = {"Shi", "Bai", "Qian", "Wan", "Yi"};int main(){char str[15];gets(str);int len = strlen(str);int left = 0, right = len - 1;if(str[0] == '-'){printf("Fu");left++;}while(left + 4 <= right){right -= 4;}while(left < len){bool flag = false;bool isPrint = false;while(left <= right){if(left > 0 && str[left] == '0'){flag = true;}else{if(flag == true){printf(" ling");flag = false;}if(left > 0){printf(" ");}printf("%s", num[str[left] - '0']);isPrint = true;if(left != right){printf(" %s", wei[right - left - 1]);} }left++;}if(isPrint == true && right != len - 1){printf(" %s", wei[(len - 1 - right) / 4 + 2]);}right += 4;}return 0;}