填空題
函式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...