PAT乙級,C語言版,題解

2021-10-02 21:30:22 字數 2494 閱讀 3620

記錄用

本文末有個別函式及原理簡單補充。

題目原位址

(得分)(滿分)
1001(15)(15)

1002(20)(20)

1003(20)(20)

1004(20)(20)

1005(25)(25)

1006(15)(15)

1007(18)(20)

1008(20)(20)

1009(20)(20)

1010(25)(25)

1011(15)(15)

1012(19)(20)

1013(19)(20)

1014(18)(20)

1015(25)(25)

1016(15)(15)

1017(18)(20)

1018(18)(20)

1019(13)(20)

1020

1021(15)(15)

1022(20)(20)

1023(20)(20)

1024(20)(20)

1025

1026(15)(15)

1027(20)(20)

1028(19)(20)

1029(20)(20)

1030

1031(15)(15)

1032(20)(20)

1033(19)(20)

1034(20)(20)

1035

1036(15)(15)

1037(20)(20)

1038(20)(20)

1039(20)(20)

1040

1041(15)(15)

1042(20)(20)

1043(20)(20)

1044(20)(20)

1045

1046(15)(15)

1047(20)(20)

1048(20)(20)

1049(20)(20)

1050

1051(15)(15)

1052(20)(20)

1053(20)(20)

1054(15)(20)

1055

1056(15)(15)

1057(20)(20)

1058(20)(20)

1059(20)(20)

1060

這些是自己的話總結的,為了方便理解,有些不是很嚴謹,見諒。

1.scanf函式的用法

(1)scanf("%s",str);遇到空格即結束。 用scanf("%[^\n]",str);代表遇到回車鍵才終止

如果回車之後還需要輸入資料,則加乙個scanf("%c",&useless);用來接收回車符

2.sprintf函式用法

簡單記法:char a[100]; int b=99; sprintf(a,"c://sd%d.sd32",b);

將陣列a進行了以上操作後a=="c:"

也就是把sprintf()中雙引號部分都賦值給了a,每個字元儲存到乙個a[i]中,如果雙引號中有輸入輸出控制符,例如%d,那麼要在後面加上這些數

3.char型別都是以ascii碼儲存的,可以對照查表

例如char a='1';char b='!';printf("%c,%d,%c,%d",a,a,b,b);最後輸出結果應該是1 49 ! 33因為在ascii碼中,字元『1』(注意數字1和字元』1』是兩個概念)對應的編號是49,字元』!'對應的編號是33

故可以把char型別當做int型別來用,但是要查詢符號對應的數字編號,例如char a=7; int b=3; b=a-48; printf("%d",b);最後輸出的是7,b=a-'0'也是一樣效果。不清楚的可以查一下ascii碼。

4.qsort函式用法

函式原型:void qsort(void *base,size_t num,size_t width,int (*compare)(const void*,const void*))

qsort 函式一共有四個引數,第乙個引數是陣列的首位址,第二個引數是陣列的元素個數,第三個引數是每個元素的位元組數,第四個引數是乙個指向函式的指標,表示呼叫的比較函式的函式名。

假如要對乙個整型陣列排序的話,比較函式應該寫成以下形式:

int

fun(

const

void

*a1,

const

void

*a2)

5.isalpha(ch)//判斷字元ch是否為字母,如果是則返回非零數字

6.tolower(ch)//將字元ch的字母改為小寫字母,如果不是字母則不動

PTA乙級 1051 複數乘法 C語言版

簡單題15分 複數可以寫成 a bi 的常規形式,其中 a 是實部,b 是虛部,i 是虛數單位,滿足 i 2 1 也可以寫成極座標下的指數形式 r e pi 其中 r 是複數模,p 是輻角,i 是虛數單位,其等價於三角形式 r cos isin 現給定兩個複數的 r 和 p,要求輸出兩數乘積的常規形...

PAT乙級題解

1001 害死人不償命的 3n 1 猜想 15 分 1002 寫出這個數 20 分 1003 我要通過!20 分 1004 成績排名 20 分 1005 繼續 3n 1 猜想 25 分 1006 換個格式輸出整數 15 分 1007 素數對猜想 20 分 1008 陣列元素迴圈右移問題 20 分 1...

PTA乙級 1046 划拳 C語言版

簡單題15分 很多人都是一行一行輸入,然後一行一行輸出,但我總感覺那種不是完美的 划拳是古老中國酒文化的乙個有趣的組成部分。酒桌上兩人划拳的方法為 每人口中喊出乙個數字,同時用手比劃出乙個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就贏了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到...