1. 程式人生 > >[C/C++] 1082 Read Number in Chinese(25 分)

[C/C++] 1082 Read Number in Chinese(25 分)

1082 Read Number in Chinese(25 分)

Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese way. Output Fu first if it is negative. For example, -123456789 is read as Fu yi Yi er Qian san Bai si Shi wu Wan liu Qian qi Bai ba Shi jiu. Note: zero (ling) must be handled correctly according to the Chinese tradition. For example, 100800 is yi Shi Wan ling ba Bai.

Input Specification:

Each input file contains one test case, which gives an integer with no more than 9 digits.

Output Specification:

For each test case, print in a line the Chinese way of reading the number. The characters are separated by a space and there must be no extra space at the end of the line.

Sample Input 1:

-123456789

Sample Output 1:

Fu yi Yi er Qian san Bai si Shi wu Wan liu Qian qi Bai ba Shi jiu

Sample Input 2:

100800

Sample Output 2:

yi Shi Wan ling ba Bai

目前測試點0和測試點4格式錯誤,標記下,回頭改

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

void reverse(char a[]){
    int len = strlen
(a)-1; for(int i = 0;i<len/2;i++) { char t = a[i]; a[i] = a[len-1-i]; a[len-1-i] = t; } } int main(){ char danwei[10][5] ={"","Shi","Bai","Qian","Wan","Shi","Bai","Qian","Yi"}; char duyin[10][5] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; char s[15]; fgets(s,15,stdin); reverse(s); int len = strlen(s); for(int i = len -2;i>=0;i--) { if(s[i] == '-') printf("Fu "); else { if(s[i] != '0'&&s[i+1]=='0') {//不為0而且高位為0 printf(" ling %s %s",duyin[s[i]-'0'],danwei[i]); }else if(s[i]!='0'){//不為0而且高位不為0 if(s[i+1] == '\n') printf("%s %s",duyin[s[i]-'0'],danwei[i]); else printf(" %s %s",duyin[s[i]-'0'],danwei[i]); }else {//為0而且高位不為0 if (i == 0 && s[i+1] == '\n') printf("ling");//單獨一個0 else if(i == 4||i ==8) printf(" %s",danwei[i]);//Wan或Yi else continue; } } } return 0; }

相關推薦

PAT (Advanced Level) Practice 1082 Read Number in Chinese 25 C++甲級

1082 Read Number in Chinese (25 分) Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese way. Outp

[C/C++] 1082 Read Number in Chinese25

1082 Read Number in Chinese(25 分) Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chin

PAT 1082 Read Number in Chinese25

Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese way. Output Fu first if it is negative.

PAT (Advanced Level) Practice 1082 Read Number in Chinese 25

有點變態的模擬啊- = #include<cstdio> #include<cstring> using namespace std; const int N=20+5; char ss[N]; char name[][10]={"",""," Shi"

1082 Read Number in Chinese 25 字串處理

1082 Read Number in Chinese (25 分) Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese wa

1082. Read Number in Chinese (25)

ret it is tin first cas cat contain main rect Given an integer with no more than 9 digits, you are supposed to read it in the traditional

1082 Read Number in Chinese(字串處理)

1082 Read Number in Chinese (25 分) Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chin

1044 Shopping in Mars 25 連續子序列分割問題

Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond has a value (in Mars dollars M$). When making

1044 Shopping in Mars 25

Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond has a value (in Mars dollars M$). When m

PAT (Advanced Level) Practice 1118 Birds in Forest 25 並查集

Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same picture belong to the same tree. You are

PAT (Advanced Level) Practice 1118 Birds in Forest 25

並查集 #include<cstdio> #include<algorithm> using namespace std; const int N=1e4+5; int f[N]; int Find(int x) { return f[x]==x

6-2 LCA in BST 25

The lowest common ancestor (LCA) of two nodes u and v in a tree T is the deepest node that has both u and 

爆刷PAT甲級——之【1118】 Birds in Forest25

補發一遍。 題意:好幾張圖畫,每張圖畫上面的鳥,都在一棵樹上。給你好幾幅圖的鳥,根據詢問回答兩隻鳥在不在一顆樹上。 難點:並查集,還是裸的並查集,直接跑就行了。 Code: #include

【笨方法學PAT】1044 Shopping in Mars 25

一、題目 Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond has a value (in Mars dollars M$). Whe

1118 Birds in Forest 25 【並查集的應用】

1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same

PAT (Advanced Level) Practice 1118 Birds in Forest 25 並查集

Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same picture belong to the same t

lower_bound_1044 Shopping in Mars 25

1044 Shopping in Mars (25 分) Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond has a

1118 Birds in Forest 25 並查集

Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same picture belong to the same tree. You are

PAT 甲級1118 Birds in Forest 25 並查集

1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same

1118 Birds in Forest 25 【並查集的應用】

1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume that all the birds appear in the same