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

2022-04-07 06:28:43 字數 1716 閱讀 1520

填空題

函式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。

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

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

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

給定源程式:

#include

#define n 9

int fun(int a, int n)

return ___3___;

} main()

, i, n;

printf("nthe original data :n");

for (i=0; i  n = fun(b, n);

printf("nthe number of odd : %d n", n);

printf("nthe odd number :n");

for (i=0; i  }

解題思路:

第一處:判斷a[i]是否是奇數,若是,則仍保留在原陣列中a[j],所以應填:1。

第二處:陣列a中的元素位置由j來控制,每增加乙個元素,則j加1,所以應填:j++。

第三處:返回刪除偶數後a所指陣列中資料的元素j,所以應填:j。

改錯題給定程式modi1.c中函式fun的功能是:求出兩個非零正整數的最大公約數,並作為函式值返回。

例如,若給num1和num2分別輸入49和21,則輸出的最大公約數為7;若給num1

和num2分別輸入27和81,則輸出的最大公約數為27。

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

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

給定源程式:

#include

int fun(int a,int b)

r=a%b;

while(r!=0)

return(a);

} main()

解題思路:

第一處:交換值的次序有問題,所以應改為:t=a;a=b;b=t;。

第二處:返回值錯誤,應改為:return(b);。程式設計題

假定輸入的字串中只包含字母和*號。請編寫函式fun,它的功能是:刪除字串中所有的*號。在編寫函式時,不得使用c語言提供的字串函式。

例如,字串中的內容為:****a*bc*def*g*******,刪除後,字串中的內容應當是:abcdefg。

注意: 部分源程式在檔案prog1.c中。

請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入

你編寫的若干語句。

給定源程式:

#include  

**:www.examda.com

void fun( char *a )

main()

解題思路:

本題是考察字串的操作。

1. 利用迴圈掃瞄字串中所有的字元是否是'*',如果不是'*',則把這些字元存放字串a首位址開始的位置上。

2. 最後給字串a加上結束符。

void fun( char *a )

a[j]=0;

}

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

填空題 給定程式的功能是 呼叫函式fun將指定原始檔中的內容複製到指定的目標檔案中,複製成功時函式返回值為1,失敗時返回值為0。在複製的過程中,把複製的內容輸出到終端螢幕。主函式中源檔名放在變數sfname中,目標檔名放 在變數tfname中。請在程式的下劃線處填入正確的內容並把下劃線刪除,使程式得...

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...