國家計算機二級考試上機題庫_第1頁
國家計算機二級考試上機題庫_第2頁
國家計算機二級考試上機題庫_第3頁
國家計算機二級考試上機題庫_第4頁
國家計算機二級考試上機題庫_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、二級 C_第1套上機題一、程序填空題下列給定程序中,函數fun的功能是:求ss所指字符串數組中長度最短的字符串所在的行下標,作為函數值返回,并把其串長放在形參n所指的變量中。ss所指字符串數組中共有M個字符串,且串長小于N。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) M(2) <(3) k二、程序修改題下列給定程序中函數fun的功能是:將tt所指字符串中的小寫字母全部改為對應的大寫字母,其它字符不變。例如,若輸入"Ab,cD",則輸出"AB

2、,CD"。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)if( tti>='a')&&( tti <= 'z')(2)tti-=32;三、程序設計題編寫函數fun,其功能是:將所有大于1小于整數m的非素數存入xx所指數組中,非素數的個數通過k返回。例如,若輸入17,則應輸出:46891012141516。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。

3、【參考答案】void fun( int m, int *k, int xx )int i,j,n=0;for(i=4;i<m;i+)/*找出大于1小于整數m的非素數*/ for(j=2;j<i;j+) if(i%j=0) break; if(j<i) xxn+=i;*k=n; /*返回非素數的個數*/二級 C_第2套上機題一、程序填空題函數fun的功能是:統計所有小于等于n(n2)的素數的個數,素數的個數作為函數值返回。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答

4、案】(1)j=2(2)i(3)j二、程序修改題數列中,第一項為3,后一項都比前一項的值增5。下列給定程序中,函數fun的功能是:計算前n(4<n<50)項的累計和。在累加過程中把那些被4除后余2的當前累加值放入數組中,符合此條件的累加值的個數作為函數值返回。例如,當n的值為20時,該數列為3、8、13、18、23、28、93、98,符合此條件的累加值應為42、126、366、570、1010。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不要改動main函數,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)int i,j=0,k,sum;

5、(2)if(sum%4=2)三、程序設計題請編寫函數fun,其功能是:計算并輸出下列多項式的值,S(11/2)(1/31/4)(1/(2n1)1/2n)例如,若主函數從鍵盤給n輸入8后,則輸出為S0.662872。注意:要求n的值大于1但不大于100。部分源程序在文件PROG1.C中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】 double fun(int n) int i;double s=0.0;for(i=1;i<=n;i+) s=s+(1.0/(2*i-1)-1.0/(2*i); /*計算S=(1-1/2)+(1/3-

6、1/4)+(1/(2n-1)-1/2n)*/return s; 二級 C_第3套上機題一、程序填空題程序通過定義學生結構體變量,存儲學生的學號、姓名和3門課的成績。函數fun的功能是:對形參b所指結構體變量中的數據進行修改,并在主函數中輸出修改后的數據。例如,若b所指變量t中的學號、姓名和三門課的成績依次是:10002、"ZhangQi"、93、85、87,修改后輸出t中的數據應為:10004、"LiJie"、93、85、87。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得

7、更改程序的結構!【參考答案】(1) ->sno(2) ->name(3) &t二、程序修改題下列給定程序中函數fun的功能是:用遞歸算法求形參a的平方根。求平方根的迭代公式如下:例如,a為2時,平方根值為:1.414214。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(1)double fun(double a,double x0)(2)if(fabs(x1-x0)>=0.00001)三、程序設計題學生的記錄由學號和成績組成。N名學生的數據已放入主函數中的結構體數組s中,請編寫函

8、數fun,其功能是:把高于等于平均分的學生數據放在b所指的數組中,高于等于平均分的學生人數通過形參n傳回,平均分通過函數值返回。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】double fun( STREC *a, STREC *b, int *n ) int i; double av=0.0; *n=0; for(i=0;i<N;i+) av=av+ai.s; av=av/N;/*求平均值*/ for(i=0;i<N;i+) if(av<=ai.s) b*n=ai;*n=*n

9、+1; /*將高于等于平均分的學生存入b所指存儲單元中,并統計人數*/ return av; /*返回平均分*/二級 C_第4套上機題一、程序填空題給定程序中,函數fun的功能是:利用指針數組對形參ss所指字符串數組中的字符串按由長到短的順序排序,并輸出排序結果。ss所指字符串數組中共有N個字符串,且串長小于M。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1)i(2)psj(3)tp二、程序修改題已知一個數列從0項開始的前3項:0、0、1,以后的各項都是其相鄰的前3項之和。下

10、列給定的程序中,函數fun的功能是:計算并輸出該數列前n項的平方根之和sum。n的值通過形參傳入。例如,當n10時,程序的輸出結果應為23.197745。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不要改動main函數,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)double fun(int n)(2)return sum ;三、程序設計題請編寫函數fun,它的功能是計算下列級數和,和值由函數值返回。S1xx2/2!x3/3!xn/n!例如,當n10,x0.3時,函數值為1.349859。注意:部分源程序在文件PROG1.C中。請勿改動主函數m

11、ain和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】double fun(double x, int n) int i; double s=1.0,s1=1.0; for(i=1;i<=n;i+)s1=s1*i; /*各項中的階乘*/ s=s+pow(x,i)/s1; /*按公式求出*/ return s;二級 C_第5套上機題一、程序填空題程序通過定義學生結構體數組,存儲若干名學生的學號、姓名和三門課的成績。函數fun的功能是:將存放學生數據的結構體數組,按姓名的字典序(從小到大)排序。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。

12、注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) struct student(2) n-1(3) ,二、程序修改題下列給定程序中函數fun的功能是:從p所指字符串中找出ASCII碼值最大的字符,將其放在第一個位置上,并將該字符前的原字符向后順序移動。例如,調用fun函數之前給字符串輸入“ABCDeFGH”,調用后字符串中的內容應為“eABCDFGH”。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(1)q=p+i;(2)whil

13、e(q>p)三、程序設計題學生的記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組s中。請編寫函數fun,其功能是:把指定分數范圍內的學生數據放在b所指的數組中,分數范圍內的學生人數由函數值返回。例如,輸入的分數是60、69,則應當把分數在6069的學生數據輸出,包含60分和69分的學生數據。主函數中把60放在low中,把69放在heigh中。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】int fun( STREC *a,STREC *b,int l, int h ) int

14、i,j=0; for(i=0;i<N;i+) if(ai.s>=l&&ai.s<=h) /*將分數高于l,低于h的學生記錄存入結構體數組b中*/ bj+=ai; return j; /*返回分數范圍內的學生人數*/二級 C_第6套上機題一、程序填空題下列給定程序中,函數fun的功能是:將s所指字符串中的所有數字字符移到所有非數字字符之后,并保持數字字符串和非數字字符串原有的次序。例如,s所指的字符串為"def35adh3kjsdf7",執行后結果為"defadhajsdf3537"。請在程序的下畫線處填入正確的內容把下畫

15、線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1)j+或j+=1或+j或j=j+1(2)si=t1i(3) j二、程序修改題下列給定程序中函數fun的功能是:用冒泡法對6個字符串進行升序排列。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)for (j = i + 1; j < 6; j+)(2)*(pstr + i) = *(pstr + j) ;三、程序設計題編寫函數fun,其功能是:求ss所指字符串中指定字符的個數,

16、并返回此值。例如,若輸入字符串123412132,輸入字符為1,則輸出3。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】int fun(char *ss, char c)int i=0; for(;*ss!='0'ss+) if(*ss=c) i+;/*求出ss所指字符串中指定字符的個數*/ return i;二級 C_第7套上機題一、程序填空題下列給定程序中,函數fun的功能是計算下式直到,并將計算結果作為函數值返回。例如,若形參e的值為1e-3,函數的返回值為2.985678。

17、請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) 0(2) i+或+i或i+=1或i=i+1(3)2.0*i二、程序修改題下列給定程序中函數fun的功能是:將s所指字符串的正序和反序進行連接,形成的新串放在t所指的數組中。例如,當s所指字符串為:"ABCD"時,t所指字符串中的內容應為:"ABCDDCBA"。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(

18、1)void fun ( char *s , char *t )(2)t2*d='0'或td+i='0'或t2*d=0;或td+i=0;三、程序設計題編寫函數fun,其功能是:將s所指字符串中除了下標為奇數同時ASCII值也為奇數的字符之外,其余的所有字符全部刪除,串中剩余字符所形成的一個新串放在t所指的數組中。例如,若s所指字符串的內容為:"ABCDEFG12345",其中字符A的ASCII碼值為奇數,但所在元素的下標為偶數,因此需要刪除;而字符1的ASCII碼值為奇數,所在數組中的下標也為奇數,因此不應當刪除,其它依此類推。最后t所指數組

19、中的內容應為:"135"。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun(char *s, char t) int i,j=0,n; n=strlen(s); for(i=0;i<n;i+) if(i%2!=0&&si%2!=0) tj=si;/*將下標為奇數同時ASCII碼值為奇數的字符放入數組t中*/ j+; tj='0' /*最后加上結束標識符*/二級 C_第8套上機題一、程序填空題程序通過定義學生結構體變量,存儲學生

20、的學號、姓名和3門課的成績。函數fun的功能是:將形參a所指結構體變量s中的數據進行修改,并把a的地址作為函數值返回主函數,從主函數中輸出修改的數據。例如,a所指變量s中的學號、姓名和三門課的成績依次是:10001、"ZhangSan"、95、80、88,修改后輸出t中的數據應為:10002、"LiSi"、96、81、89。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) struct student *(2) a->scorei(3)

21、 a二、程序修改題下列給定程序中函數fun的功能是:從N個字符串中找出最長的串,并將其地址作為函數值返回。各字符串在主函數中輸入,并放入一個字符串數組中。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(1)char *fun(char (*sq)M)(2)return sp;三、程序設計題編寫函數fun,其功能是:將a、b中的兩個兩位正整數合并成一個新的整數放在c中。合并的方式是:將a中的十位和個位數依次放在變量c的百位和個位上,b中的十位和個位數依次放在變量c的十位和千位上。例如,當a45,b12,調用該

22、函數后c2415。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun(int a, int b, long *c)*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;二級 C_第9套上機題一、程序填空題程序通過定義學生結構體變量,存儲學生的學號、姓名和3門課的成績。函數fun的功能是:將形參a中的數據進行修改,把修改后的數據作為函數值返回主函數進行輸出。例如,若傳給形參a的數據中學號、姓名和三門課的成績依次是:10001、"ZhangSan&qu

23、ot;、95、80、88,修改后的數據應為:10002、"LiSi"、96、81、89。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) struct student(2) (3) a.scorei二、程序修改題假定整數數列中的數不重復,并存放在數組中。下列給定程序中函數fun的功能是:刪除數列中值為x的元素。變量n中存放數列中元素的個數。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程

24、序的結構!【參考答案】(1)if(p=n) return -1;(2)ai=ai+1;三、程序設計題編寫函數fun,其功能是:將兩個兩位數的正整數a、b合并成一個整數放在c中。合并的方式是:將a數的十位和個位數依次放在c數的個位和百位上,b數的十位和個位數依次放在c數的千位和十位上。例如,當a45,b12時,調用該函數后,c1524。注意:部分源程序在文件PROG1.C中。數據文件IN.DAT中的數據不得修改。請勿動改主函數的main和其它函數中的任何內容,僅在函數fun的花括號填入你編寫的若干語句。【參考答案】void fun(int a, int b, long *c)*c=a/10+(b

25、%10)*10+(a%10)*100+(b/10)*1000; 二級 C_第10套上機題一、程序填空題下列給定程序中,函數fun的功能是:在形參s所指字符串中的每個數字字符之后插入一個*號。例如,形參s所指的字符串為"def35adh3kjsdf7",執行后結果為"def3*5*adh3*kjsdf7*"注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) &&(2) 0或'0'(3) sj或*(s+j)二、程序修

26、改題下列給定程序中函數fun的功能是:根據整型形參m,計算如下公式的值。例如,若m的值為5,則應輸出1.463611。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)for(i=2;i<=m;i+)(2)y+=1.0/(i*i);或y+=(double)1.0/(i*i)三、程序設計題編寫函數fun,其功能是:實現BAA',即將矩陣A加上A的轉置,存放在矩陣B中。計算結果在main函數中輸出。例如,輸入下面的矩陣:其轉置矩陣為: 程序輸出: 注意:部分源程序在文件PROG1.C中。 請勿請勿

27、改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun ( int a33, int b33)int i,j; for(i=0;i<3;i+)for(j=0;j<3;j+) bij=aij+aji;/*把矩陣a加上a的轉置,存放在矩陣b中*/二級 C_第11套上機題一、程序填空題給定程序中,函數fun的功能是:判斷形參s所指字符串是否是"回文"(Palindrome),若是,函數返回值為1;不是,函數返回值為0。"回文"是正讀和反讀都一樣的字符串(不區分大小寫字母)。例如,LEVE

28、L和Level是"回文",而LEVLEV不是"回文"。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1)s(2)-(3)return 0二、程序修改題下列給定程序中,函數fun的功能是:求出如下分數列的前n項之和。和值通過函數值返回main函數。例如,若n5,則應輸出8.391667。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不要改動main函數,不得增行或刪行,也不得更改程序的結構!【參考答案】(

29、1)double fun(int n)(2)s=s+(double)a/b;三、程序設計題請編寫一個函數void fun(int m, int k, int xx),該函數的功能是:將大于整數m且緊靠m的k個素數存入所指的數組中。例如,若輸入17,5,則應輸出19、23、29、31、37。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun(int m,int k,int xx) int i,j,n; for(i=m+1,n=0;n<k;i+) /*找大于m的素數,循環k次,即找出

30、緊靠m的k個素數*/ for(j=2;j<i;j+) /*判斷一個數是否為素數,如果不是,跳出此循環,判斷下一個數*/if(i%j=0) break; if(j>=i) /*如果是素數,放入數組xx中*/ xxn+=i;二級 C_第12套上機題一、程序填空題函數fun的功能是:統計長整數n的各位上出現數字1、2、3的次數,并用外部(全局)變量c1、c2、c3返回主函數。例如,當n123114350時,結果應該為:c13 c21 c32。注意:部分源程序在文件BLANK1.C中。請勿改動main函數和其他函數中的任何內容,僅在函數fun的橫線上填入所編寫的若干表達式或語句。【參考答案

31、】(1) n%10(2) break(3) break二、程序修改題下列給定程序中,函數fun實現的功能是:統計一個無符號整數中各位數字值為0的個數,通過形參傳回主函數,并把該整數中各位上最大的數字值作為函數值返回。例如,若輸入無符號整數30800,則數字值為0的位的個數為3,各位上數字值最大的是8。請改正函數fun中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不要改動main函數,不得增行或刪行,也不得更改程序的結構。【參考答案】(1)if(t=0)(2)*zero=count;三、程序設計題請編寫函數fun,其功能是:計算并輸出下列多項式的值。例如,在主函數中從鍵

32、盤為n輸入50后,輸出為S1.718282。注意:要求n的值在大于1但不大于100之間。部分源程序在文件PROG1.C中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】double fun(int n)double sum=0,tmp=1;int i;for(i=1;i<=n;i+)tmp=tmp*i;sum+=1.0/tmp;return sum;二級 C_第13套上機題一、程序填空題下列給定程序中,函數fun的功能是:在形參ss所指字符串數組中查找與形參t所指字符串相同的串,找到后返回該串在字符串數組中的位置(即下標值),若未

33、找到則返回1。ss所指字符串數組中共有N個內容不同的字符串,且串長小于M。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1)N(2)i(3) -1二、程序修改題下列給定程序中函數fun的功能是:從整數10到55之間,查找能被3整除且有一位上的數值是5的數,把這些數放在b所指的數組中,這些數的個數作為函數值返回。規定函數中al放個位數,a2放十位數。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(1

34、)a2=k/10;(2)return i;三、程序設計題規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:將字符串尾部的*號全部刪除,前面和中間的*號不動。例如,字符串中的內容為:"*A*BC*DEF*G*",刪除后,字符串中的內容應當是:"*A*BC*DEF*G"。在編寫函數時,不得使用C語言提供的字符串函數。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun( char *a )while(*a!='0') a+

35、;a-; /*指針a指向字符串的尾部*/while(*a='*') a-;/*指針a指向最后一個字母*/*(a+1)='0' /*在字符串最后加上結束標志符*/二級 C_第14套上機題一、程序填空題給定程序中,函數fun的功能是:統計形參s所指的字符串中數字字符出現的次數,并存放在形參t所指的變量中,最后在主函數中輸出。例如,若形參s所指的字符串為"abcdef35adgh3kjsdf7",則輸出結果為4。請在下畫線處填入正確內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結

36、構!【參考答案】(1) si(2) '9'(3)*t=n二、程序修改題下列給定程序中函數fun的功能是:實現兩個變量值的交換,規定不允許增加語句和表達式。例如,變量a中的值原為8,b中的值原為3,程序運行后a中的值為3,b中的值為8。請改正程序中的錯誤,使它得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)t = *x ; *x = y ;(2)return(t) ;或return t;三、程序設計題編寫函數fun,其功能是:求出11000之間能被7或11整除,但不能同時被7和11整除的所有整數,并將其放在a所指的數

37、組中,通過n返回這些數的個數。注意:部分原程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】 void fun (int *a, int *n) int i,j=0; for(i=1;i<=1000;i+) /*求1到1000之內能被7或11整除、但不能同時被7和11整除的所有整數,并放入數組a中*/ if(i%7=0|i%11=0)&&i%77!=0) aj+=i; *n=j; 二級 C_第15套上機題一、程序填空題下列給定程序中,函數fun的功能是:計算下式前n項的和,并作為函數值返回。

38、例如,當形參n的值為10時,函數返回:-0.204491。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) 1(2) 2*i(3) (-1)二、程序修改題下列給定程序中函數fun的功能是:判斷一個整數是否為素數,若是素數返回1,否則返回0。在main()函數中,若fun返回1輸出YES,若fun返回0輸出NO!。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(1)k+;(2)if(m=k)三、程

39、序設計題請編寫函數fun,其功能是:找出一維整型數組元素中最大的值及其所在的下標,并通過形參傳回。數組元素中的值已在主函數中賦予。主函數中x是數組名,n是x中的數據個數,max存放最大值,index存放最大值所在元素的下標。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun(int a,int n, int *max, int *d) int i; *max=a0; *d=0; for(i=0;i<n;i+) /*將最大的元素放入指針max所指的單元,最大元素的下標放入指針d所指

40、的單元*/if(*max<ai) *max=ai;*d=i;二級 C_第16套上機題一、程序填空題函數fun的功能是:計算的前n項。若x2.5,函數值為12.182340。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構。【參考答案】(1)1.0(2)1(3)i二、程序修改題下列給定程序中,函數fun的功能是:找出100n(不大于1000)之間三個位上的數字都相等的所有整數,把這些整數放在s所指的數組中,個數作為函數值返回。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件M

41、ODI1.C中,不要改動main函數,不得增行或刪行,也不得更改程序的結構。【參考答案】(1)k=i;(2)b=k%10;三、程序設計題請編寫函數fun,其功能是:計算并輸出給定10個數的方差。其中:例如,給定的10個數為95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,則輸出為S11.730729。注意:部分源程序在文件PROG1.C中。請勿改動主main函數和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】double fun(double x10) double x1=0.0,s=0.0; int i; f

42、or(i=0;i<10;i+) x1=x1+xi; x1=x1/10; /*求10個數的平均值*/ for(i=0;i<10;i+) s=s+(xi-x1)*(xi-x1); return sqrt(s/10); /*求10個數的方差*/二級 C_第17套上機題一、程序填空題下列給定程序中,函數fun的功能是:在形參ss所指字符串數組中,將所有串長超過k的字符串中后面的字符刪除,只保留前面的k個字符。ss所指字符串數組中共有N個字符串,且串長小于M。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程

43、序的結構!【參考答案】(1) M(2) N(3)'0'二、程序修改題下列給定程序中函數fun的功能是:根據以下公式求值,并作為函數值返回。例如,當給指定精度的變量eps輸入0.0005時,應輸出Pi3.140578。/211/31/3×2/51/3×2/5×3/71/3×2/5×3/7×4/9請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(1)t=1.0;(2)return(s*2);三、程序設計題規定輸入的字符串中只包含字母和*號

44、。請編寫函數fun,其功能是:使字符串的前導*號不得多于n個,若多于n個,則刪除多余的*號;若少于或等n個,則不做處理,字符串中間和尾部的*號不刪除。例如,字符串中的內容為:*A*BC*DEF*G*,若n的值為4,刪除后,字符串中的內容應當是:*A*BC*DEF*G*;若n的值為8,則字符串中的內容仍為:*A*BC*DEF*G*。n的值在主函數中輸入。在編寫函數時,不得使用C語言提供的字符串函數。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun( char *a, int n ) i

45、nt i=0; int k=0; char *p,*t; p=t=a; /*開始時,p與t同時指向數組的首地址*/ while(*t='*') /*用k來統計前部星號的個數*/ k+;t+; if(k>n)/*如果k大于n,則使p的前部保留n個星號,其后的字符依次存入數組a中*/ while(*p) ai=*(p+k-n); i+; p+;ai='0' /*在字符串最后加上結束標識位*/ 二級 C_第18套上機題一、程序填空題下列給定程序中,函數fun的功能是:把形參s所指字符串中下標為奇數的字符右移到下一個奇數位置,最右邊被移出字符串的字符繞回放到第一個

46、奇數位置,下標為偶數的字符不動(注:字符串的長度大于等于2)。例如,形參s所指字符串為"abcdefgh",執行結果為"ahcbedgf"。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) 1(2) sk或*(s+k)(3) c二、程序修改題下列給定程序中fun函數的功能是:求表達式saa aa aaa aa a(此處aa aa表示n個a,a和n的值在1至 9之間)例如,a3,n6,則以上表達式為:s333333333333333333333

47、其值是296298。a和n是fun函數的形參,表達式的值作為函數值傳回main函數。請改正程序中的錯誤,使它能計算出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)long s=0, t=0;(2)t=t/10;三、程序設計題編寫函數void fun(char *tt,int pp),統計在tt所指的字符串中'a'到'z'26個小寫字母各自出現的次數,并依次放在pp所指的數組中。例如,當輸入字符串abcdefgabcdeabc后,程序的輸出結果應該是:3 3 3 2 2 1 1 0 0 0 0 0 0

48、0 0 0 0 0 0 0 0 0 0 0 0 0注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun(char *tt, int pp)int i; for(i=0;i<26;i+) ppi=0; /*初始化pp數組各元素為0*/ for(;*tt!='0'tt+) if(*tt>='a'&&*tt<='z') pp*tt-'a'+; 二級 C_第19套上機題一、程序填空題下列給定程序中,

49、函數fun的功能是:在形參ss所指字符串數組中,查找含有形參substr所指子串的所有字符串,并輸出,若沒找到則輸出相應信息。ss所指字符串數組中共有N個字符串,且串長小于M。程序中庫函數strstr(s1,s2)的功能是在s1串中查找s2子串,若沒有,函數值為0,若有,函數值為非0。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1) N(2) substr(3) 0二、程序修改題下列給定程序中函數fun的功能是:求三個數的最小公倍數。例如,若給主函數中的變量x1、x2、x3分別輸入

50、15112,則輸出結果應當是330。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改的程序的結構!【參考答案】(1)fun(int x,int y, int z)或int fun(int x,int y,int z)(2)return j;三、程序設計題規定輸入的字符串中只包含字母和*號。請編寫函數fun,其功能是:只刪除字符前導和尾部的*號,串中字母間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導*號的個數,形參e給出了字符串中尾部*號的個數。在編寫函數時,不得使用C語言提供的字符串函數。例如,字符串中的內容為:

51、"*A*BC*DEF*G*",刪除后,字符串中的內容應當是:"A*BC*DEF*G"。注意:部分源程序在文件PROG1.C中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。【參考答案】void fun( char *a, int n,int h,int e )int i,j=0; for(i=h;i<n-e;i+) /*第一個字母和最后一個字母之間的字符全不刪除*/ aj+=ai; aj='0' /*在字符串最后加上結束標識*/二級 C_第20套上機題一、程序填空題用篩選法可得到2n(n

52、10000)之間的所有素數,方法是:首先從素數2開始,將所有2的倍數的數從數表中刪去(把數表中相應位置的值置成0);接著從數表中找下一個非0數,并從數表中刪去該數的所有倍數;依此類推,直到所找的下一個數等于n為止。這樣會得到一個序列:2,3,5,7,11,13,17,19,23,函數fun的作用是:用篩選法找出所有小于等于n的素數,并統計素數的個數作為函數值返回。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!【參考答案】(1)ai(2)ai(3)0二、程序修改題下列給定的程序中,函數fun的

53、功能是:為一個偶數尋找兩個素數,這兩個素數之和等于該偶數,并將這兩個素數通過形參指針傳回主函數。請改正函數fun中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODI1.C中,不要改動main函數,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)y=1;(2)d=a-i;三、程序設計題請編寫函數fun,該函數的功能是:計算并輸出n(包括n)以內所有能被5或9整除的自然數的倒數之和。例如,若主函數中從鍵盤給n輸入20后,則輸出為S 0.583333。注意:n的值要求不大于100。部分源程序在文件PROG1.C中。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號

54、中填入你編寫的若干語句。【參考答案】double fun(int n) int i; double sum=0.0; for(i=1;i<=n;i+) if(i%5=0|i%9=0)sum+=1.0/i; return sum;二級 C_第21套上機題一、程序填空題下列給定程序中,函數fun的功能是:將形參s所指字符串中下標為奇數的字符取出,并按ASCII碼大小遞增排序,將排序后的字符存入形參p所指字符數組中,形成一個新串。例如,形參s所指的字符為:baawrskjghzlicda,執行后p所指字符數組中的字符串應為:aachjlsw。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出

55、正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!二、程序修改題下列給定程序中函數fun的功能是:用下面的公式求的近似值,直到最后一項的絕對值小于指定的數(參數num)為止。例如,程序運行后,輸入0.0001,則程序輸出3.1414。請改正程序中的錯誤,使它能輸出正確的結果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改程序的結構!【參考答案】(1)while(fabs(t)>=num)(2)t=s/n;【參考答案】(1)t=i(2) i(3) '0'或0三、程序設計題編寫函數fun,其功能是:刪除一個字符串中指定下標的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數組中,n中存指定的下標。例如,輸入一個字符串world,然后輸入3,則調用該函數后的結果為w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論