2023年計算機二級C語言上機習題3

2022-04-07 06:28:43 字數 1638 閱讀 8926

填空題

給定程式的功能是:呼叫函式fun將指定原始檔中的內容複製到指定的目標檔案中,複製成功時函式返回值為1,失敗時返回值為0。在複製的過程中,把複製的內容輸出到終端螢幕。主函式中源檔名放在變數sfname中,目標檔名放 在變數tfname中。

請在程式的下劃線處填入正確的內容並把下劃線刪除,使程式得出正確的結果。

注意:源程式存放在考生資料夾下的blank1.c中。

不得增行或刪行,也不得更改程式的結構!

給定源程式:

#include

#include

int fun(char *source, char *target)

fclose(fs); fclose(ft);

printf("nn");

return 1;

} main()

fclose(myf);printf("nn");

if (fun(sfname, tfname)) printf("succeed!");

else printf("fail!");

} 解題思路:

本題要求是把乙個檔案中的內容複製到另乙個檔案中。程式中共有三處要填上適當的內容,使程式能執行出正確的結果。

第一處:要求開啟乙個讀方式的原始檔,因此可以填上"r"或"r+"。開啟讀檔案操作的流是fs。

第二處:用while迴圈來判斷原始檔是否已讀到檔案結束符,int feof(file *stream),因此,此處只能填寫fs。

第三處:把已經讀取的字元寫入目標檔案中,開啟寫檔案操作的流是ft,因此,此處只能填寫ft。

改錯題給定程式modi1.c中函式fun的功能是:將長整型數中每一位上為偶數的數依 次取出,構成乙個新數放在t中。高位仍在高位,低位仍在低位。 例如,當s中的數為:87653142時,t中的數為:8642。

請改正程式中的錯誤,使它能得出正確的結果。

注意:不要改動main函式,不得增行或刪行,也不得更改程式的結構!

給定源程式:

#include

void fun (long s, long *t)

s = 10;

} }

main()

解題思路:

第一處:判斷相等的條件是==。

第二處:整除的符號是/。

程式設計題函式fun的功能是:將兩個兩位數的正整數a、b合併形成乙個整數放在c中。合併的方式是:將a數的十位和個位數依次放在c數的十位和千位上, b數的十位和個位數依次放在c數的百位和個位上。

例如,當a=45,b=12時,呼叫該函式後,c=5142。

注意: 部分源程式存在檔案prog1.c中。資料檔案in.dat中的資料不得修改。

請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。

給定源程式:

#include

void fun(int a, int b, long *c)

main()

解題思路:

本題是給出兩個兩位數的正整數分別取出各位上的數字,再按條件組成乙個新數。

取a十位數字的方法:a/10

取a個位數字的方法:a%10

void fun(int a, int b, long *c)

2023年計算機二級C語言上機習題8

填空題 函式fun的功能是 把形參a所指陣列中的奇數按原順序依次存放到a 0 a 1 a 2 中,把偶數從陣列中刪除,奇數個數通過函式值返回。例如 若a所指陣列中的資料最初排列為 9 1 4 2 3 6 5 8 7,刪除偶數後a 所指陣列中的資料為 9 1 3 5 7,返回值為5。請在程式的下劃線處...

2023年計算機二級C語言上機習題4

填空題 給定程式中,函式fun的功能是建立乙個nn的矩陣。矩陣元素的構成規律是 最外層元素的值全部為1 從外向內第2層元素的值全部為2 第3層元素的值 全部為3,依次類推。例如,若n 5,生成的矩陣為 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1...

2023年計算機二級C語言上機習題5

填空題 用篩選法可得到2 n n 10000 之間的所有素數,方法是 首先從素數2開始,將所有2的倍數的數從數表中刪去 把數表中相應位置的值置成0 接著從數 表中找下乙個非0數,並從數表中刪去該數的所有倍數 依此類推,直到所找的下乙個數等於n為止。這樣會得到乙個序列 2,3,5,7,11,13,17...