『ACM C++』 PTA 天梯賽練習集L1 | 007-0011
真的是忙頭暈了,學業、ACM打題、班級活動、自學新東西,哇這充實的大學~
------------------------------------------------L1-007----------------------------------------------------------
念數字
輸入一個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出fu
字。十個數字對應的拼音如下:
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
輸入格式:
輸入在一行中給出一個整數,如:1234
提示:整數包括負數、零和正數。
輸出格式:
在一行中輸出這個整數對應的拼音,每個數字的拼音之間用空格分開,行末沒有最後的空格。如 yi er san si
。
輸入樣例:
-600
輸出樣例:
fu liu ling ling
------------------------------------------------L1-007----------------------------------------------------------
註:水題,熟練使用字符指針數組就沒有問題了。如這裏的:const char* proun[10] = { "ling", "yi", "er", "san","si","wu","liu","qi","ba","jiu" }
#include<stdio.h> #include<string.h> #include<string> using namespace std; const char* proun[10] = { "ling", "yi", "er", "san","si","wu","liu","qi","ba","jiu" }; char Input[999999]; int length; int main() { scanf("%s",&Input); length = strlen(Input);for(int i = 0;i<length;i++) { if(Input[i] == ‘-‘) printf("fu"); else printf(proun[Input[i] - ‘0‘]); if(i!=length-1) printf(" "); else printf("\n"); } return 0; }
------------------------------------------------L1-008----------------------------------------------------------
求整數段和
給定兩個整數A和B,輸出從A到B的所有整數以及這些數的和。
輸入格式:
輸入在一行中給出2個整數A和B,其中−100≤A≤B≤100,其間以空格分隔。
輸出格式:
首先順序輸出從A到B的所有整數,每5個數字占一行,每個數字占5個字符寬度,向右對齊。最後在一行中按Sum = X
的格式輸出全部數字的和X
。
輸入樣例:
-3 8
輸出樣例:
-3 -2 -1 0 1 2 3 4 5 6 7 8 Sum = 30
------------------------------------------------L1-008----------------------------------------------------------
註解:水題,一個循環帶過
#include<stdio.h> int A,B,counter,sum; int main() { scanf("%d%d",&A,&B); counter = sum = 0; for(int i = A;i<=B;i++) { sum+=i; if(counter == 5) { counter = 0; printf("\n"); } printf("%5d",i); counter++; } printf("\nSum = %d\n",sum); return 0; }
『ACM C++』 PTA 天梯賽練習集L1 | 007-0011