c語(yǔ)言考試題庫(kù)(五)_第1頁(yè)
c語(yǔ)言考試題庫(kù)(五)_第2頁(yè)
c語(yǔ)言考試題庫(kù)(五)_第3頁(yè)
c語(yǔ)言考試題庫(kù)(五)_第4頁(yè)
c語(yǔ)言考試題庫(kù)(五)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

c語(yǔ)言考試題庫(kù)(5)

大題

1、在考生文件夾下的給定程序modil42.c的功能是:讀入一個(gè)整數(shù)k(2WkW10000),打

印它的所有質(zhì)因子(即所有為素?cái)?shù)的因子)。

例如,若輸入整數(shù):2310,則應(yīng)輸出:2,3,5,7,11,

請(qǐng)改正程序中的語(yǔ)法錯(cuò)誤,使程序能得出正確的結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[IsPrime(intn)]

實(shí)際操作結(jié)果:內(nèi)容為[IsPrime(int,n)]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[if(!(n%i))]

實(shí)際操作結(jié)果:內(nèi)容為[if!(限i)]

本題的考核點(diǎn)是C語(yǔ)言的一些基本用法以及if語(yǔ)句的使用。

本題中IsPrime(int,n)是函數(shù)的定義,變量與關(guān)鍵字之間不能有逗號(hào)。所以,

"IsPrime(int,n)”應(yīng)改為"IsPrime(intn)

根據(jù)if語(yǔ)句的語(yǔ)法規(guī)則,if后的表達(dá)式必須由括號(hào)括起來(lái)。由題意看出,n整除i

時(shí),也就是說(shuō)"n%i==0"時(shí),循環(huán)才繼續(xù)進(jìn)行。因此,"if!(n%i)"應(yīng)改為"if(!(n%i))"

或相同作用的語(yǔ)句。

本評(píng)析僅作參考。

2、給定程序功能是用冒泡法對(duì)6個(gè)字符串進(jìn)行排序。

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:

源程序存放在考生文件夾下的blank6.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[if(strcmp(*(pstr+i),*(pstr+j))>0)]實(shí)際操作結(jié)果:內(nèi)容為

[if(strcmp(*(pstr+i),1__)>0)]第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[pstr[i]=pstr[j];]

實(shí)際操作結(jié)果:內(nèi)容為[pstr[i]=—2一;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[*(pstr+j)=p;]

實(shí)際操作結(jié)果:內(nèi)容為[*(pstr+j)=_3―;]

首先,我們必須先讀懂題中程序的大致意思,這是正確填空的重要前提。程序中的重要

思想如下:

1、建立了一個(gè)二維字符串?dāng)?shù)組,用于存放用戶輸入的6個(gè)字符串;

2、建立了一個(gè)指針數(shù)組,目的是用6個(gè)指針?lè)謩e指向6個(gè)字符串;

3、函數(shù)fun()的形參只有一個(gè),即指針數(shù)組pstr口,這表明要想在函數(shù)fun()中對(duì)6個(gè)字

符串進(jìn)行操作,只能通過(guò)pstr口中的6個(gè)指針。

題中第一個(gè)空填"*(pstr+j)”:觀察源程序可以發(fā)現(xiàn),在程序中使用strcmpO函數(shù)是為了

判斷字符串str[i]與str[i+1]兩者的大小,在fun()函數(shù)中只能通過(guò)指針來(lái)表達(dá)各個(gè)字符

串,所以應(yīng)當(dāng)填"*(pstr+j)”。

題中第二個(gè)空填對(duì)兩個(gè)字符進(jìn)行比較后,若pstr[i]中的字符比pstr[j]中的

字符大,則將pstr[j]中的字符賦給pstr[i]。

題中第三個(gè)空填"p":對(duì)兩個(gè)字符進(jìn)行比較后,若pstr[i]中的字符比pstr[j]中的字符

大,則將pstr[j]和pstr[i]的內(nèi)容進(jìn)行交換。

本評(píng)析僅作參考

3、在考生文件夾下的給定程序modi83.c中,函數(shù)fun的功能是:計(jì)算函數(shù)

F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。例

如,當(dāng)x的值為9、y的值為11、z的值為15時(shí),函數(shù)值為-3.50。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[value=FU((a+b),(a-b))+FU((c+b),(c-b));]實(shí)際操作結(jié)果:內(nèi)

容為[value=FU(a+b,a~b)+FU(c+b,c-b);]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[return(value);]

實(shí)際操作結(jié)果:內(nèi)容為[Return(Value);]

本題著重考察考生對(duì)C語(yǔ)言中自定義語(yǔ)句以及基本語(yǔ)法的掌握情況。

本題中的第一個(gè)錯(cuò)誤:如果按照原程序中的語(yǔ)句調(diào)用自定義語(yǔ)句,那么

value=a+b/a-b+c+b/c-b,/運(yùn)算高于+運(yùn)算,很顯然不符合題意,a+b應(yīng)作為一個(gè)整體傳遞

給m,需為其加括號(hào),所以程序中語(yǔ)句"value=FU(a+b,a-b)+FU(c+b,c-b)應(yīng)改為

"value=FU((a+b),(a-b))+FU((c+b),(c-b));"或相同作用的語(yǔ)句。

本題中的第二個(gè)錯(cuò)誤:C語(yǔ)言中,命令單詞應(yīng)為小寫(xiě),所以程序中語(yǔ)句"Return(Value);"

應(yīng)改為"return(value);”或相同作用的語(yǔ)句。

本評(píng)析僅作參考。

4、給定程序的功能是:根據(jù)整型形參n,計(jì)算如下公式的值。

111

Al=l,A2=------,A3=------,....,An=--------

1+Al1+A21+An-1

例如,若n=10,則應(yīng)輸出:0.618056?

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:

源程序存放在考生文件夾下的blank22.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[floatA=l;inti;]

實(shí)際操作結(jié)果:內(nèi)容為[floatA=___1

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(i=l;i<=n;i++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(i=l;i<=___2___;i++)]

笫3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[returnA;]

實(shí)際操作結(jié)果:內(nèi)容為[—3_

本題著重考察考生對(duì)C語(yǔ)言中函數(shù)的定義、引用和參數(shù)傳遞、返回值的掌握情況。題中

第一空填"1":此句是定義變量并為變量賦初值,根據(jù)題中的公式將變量A定義為float

型變量并賦值為lo

題中第二個(gè)空填"n":由題意可知,程序要求出An的值,循環(huán)的終止值應(yīng)為n,所以此循

環(huán)語(yǔ)句應(yīng)該為"for(i=2;i<=n;i++)”。

題中第三個(gè)空填"returnA":通過(guò)return語(yǔ)句將被調(diào)用函數(shù)中一個(gè)確定值帶回主調(diào)函數(shù)

中去。

本評(píng)析僅作參考。

5、在考生文件夾下的給定程序modi25.c中,函數(shù)fun的功能是:用下面的公式求n的

近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)為止:

Hill

一=11——十—————+...

4357

例如,程序運(yùn)行后,輸入0.0001,則程序輸出3.1414。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[while((fabs(t))>=num)]

實(shí)際操作結(jié)果:內(nèi)容為[while(t>=num)]

第2處內(nèi)容填寫(xiě)有誤

笫[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[t=s*l/n;]

實(shí)際操作結(jié)果:內(nèi)容為[t=s%n;]

首先,我們必須先讀懂題中程序的大致意思,這是發(fā)現(xiàn)并改正程序中錯(cuò)誤的重要前提。

程序中的重要思想如下:

1、用題中提供的公式求n的近似值,直到最后?項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)

為止;

2、在題中必須使用求分?jǐn)?shù)絕對(duì)值的函數(shù)。

本題的第一個(gè)錯(cuò)誤:在函數(shù)中的while循環(huán)中,條件明顯不對(duì),應(yīng)當(dāng)改為

"while((fabs(t))>=num)”,這樣才能保證循環(huán)結(jié)束的條件為最后一項(xiàng)的絕對(duì)值小于指定

的數(shù)(參數(shù)num);

本題的第二個(gè)錯(cuò)誤:在函數(shù)循環(huán)中求分?jǐn)?shù)值的語(yǔ)句"t=s%n中錯(cuò)誤使用了%號(hào),在C

語(yǔ)言中%是求余運(yùn)算符,而我們的目的是為了進(jìn)行除運(yùn)算,所以,該語(yǔ)句應(yīng)當(dāng)改為

“t=s/n;

本評(píng)析僅作參考。

6、給定程序中,函數(shù)fun的功能是:有NXN矩陣,根據(jù)給定的m(m<=N)值,將每行元

素中的值均右移m個(gè)位置,左邊置為0。例如,N=3,m=2,有下列矩陣

123

456

789

程序執(zhí)行結(jié)果為

001

004

007

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確結(jié)果。注意:源

程序存放在考生文件夾下的blank50.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(i=0;i<N;i++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(i=0;i<N;___1___)]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[t[i][j+m]=t[i][j];]

實(shí)際操作結(jié)果:內(nèi)容為[t[i][j+_2_]=t[i][j]:]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(j=0;j<m;j++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(j=0;j<_3__;j++)]

本題的考核點(diǎn)是C語(yǔ)言中的循環(huán)嵌套語(yǔ)句的使用。

解題思路:使用嵌套循環(huán),外循環(huán)是行循環(huán),內(nèi)循環(huán)是列循環(huán),這樣可以對(duì)整個(gè)數(shù)組中的

元素進(jìn)行符合條件的運(yùn)算。題目要求將每行元素中的值均右移m個(gè)位置,左邊置為0,所

以首先要使用for語(yǔ)句將每行元素中的值均右移m個(gè)位置,再將左邊置為0。本評(píng)析僅供

參考。

7、在考生文件夾下的給定程序modi86.c中,函數(shù)fun的功能是:求出以下分?jǐn)?shù)序列的前

n項(xiàng)之和。和值通過(guò)函數(shù)值返回main函數(shù)。

23581321

,,,,,,......

1235813

例如,若n=5,則應(yīng)輸出:8.391667。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[doublefun(n)]

實(shí)際操作結(jié)果:內(nèi)容為[fun(intn)]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[s=s+(double)a/b;]

實(shí)際操作結(jié)果:內(nèi)容為[s=s+(Double)a/b;]

本題著重考察考生對(duì)C語(yǔ)言中一些簡(jiǎn)單算法的掌握情況。

本題中的第一個(gè)錯(cuò)誤:fun函數(shù)返回的應(yīng)為float或double型,所以程序中語(yǔ)句

"fun(intn)”應(yīng)改為"doublefun(intn)”或相同作用的語(yǔ)句。

本題中的第二個(gè)錯(cuò)誤:C語(yǔ)言中關(guān)鍵詞應(yīng)為小寫(xiě),所以程序中語(yǔ)句“s=s+(Double)a/b;”應(yīng)

改為"s=s+(double)a/b或相同作用的語(yǔ)句。

本評(píng)析僅作參考。

8、給定程序的功能是將未在字符串s中出現(xiàn),而在字符串t中出現(xiàn)的字符,形成一個(gè)新

的字符串放在u中,u中字符按原字符串中字符順序排序,但去掉重復(fù)字符。例如:當(dāng)

s="12345",t="24677”時(shí),u中的字符為:"67”。

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

注意:源程序存放在考生文件夾下的blank8.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

笫1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[if(t[i]=u[k])break;]

實(shí)際操作結(jié)果:內(nèi)容為[if(t[i]==u[k]).1;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[u[ul++]=t[i];]

實(shí)際操作結(jié)果:內(nèi)容為[u[ul++]=_2_;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[u[ul]='\0';]

實(shí)際操作結(jié)果:內(nèi)容為[—3—

本題考核點(diǎn)為字符串的查找,賦值操作。

題中第一空填"break;":break為跳出循環(huán)的語(yǔ)句。"if(t[i]==u[k])break;"當(dāng)

t[i]=u[k],即u[k]中的字符已經(jīng)在字符指針t做指向的字符數(shù)組中存在,循環(huán)就結(jié)束。

題中第二空填”u[ul++]=是將t[i]賦給u[ul],然后U1加1。題中第三

空填"u[ul]='\0';",字符串的最后一個(gè)字符應(yīng)該是'\0'的。本評(píng)析僅作參

考。

9、在考生文件夾下的給定程序modi37.c中,函數(shù)fun的功能是:根據(jù)以下公式求“

值,并作為函數(shù)值返回。

滅1121231234

—=1+—+—X—+—X—X—+—X—X——X—+...

23353573579

例如,給指定精度的變量eps輸入0.0005時(shí),應(yīng)當(dāng)輸出Pi=3.140578。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為

實(shí)際操作結(jié)果:內(nèi)容為[t=0;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[return(s*2);]

實(shí)際操作結(jié)果:內(nèi)容為[return(s);]

本題的考核點(diǎn)是根據(jù)公式求“值。

本題中的第一個(gè)錯(cuò)誤:變量t是用來(lái)累計(jì)表達(dá)式的乘積,它的初值應(yīng)為1,所以程序中的

語(yǔ)句"t=0;"應(yīng)改為

本題中的第二個(gè)錯(cuò)誤:由程序可知,變量s中存放的是n/2的值,而不是n的值,所以

程序中的語(yǔ)句"return(s);"應(yīng)改為"return(s*2)或相同作用的語(yǔ)句。

本評(píng)析僅作參考。

10、給定程序的功能是分別統(tǒng)計(jì)字符串中大寫(xiě)字母和小寫(xiě)字母的個(gè)數(shù)。例如,給字符串

ss輸入:AaaaBBb123CCccccd,

則輸出結(jié)果應(yīng)為:upper=5,lower=9

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:

源程序存放在考生文件夾下的blank23.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為K*a)++;]

實(shí)際操作結(jié)果:內(nèi)容為[—1—;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為K*b)++;]

實(shí)際操作結(jié)果:內(nèi)容為[_2__;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[printf("\nupper=%dlower=%d\n",upper,lower);]

實(shí)際操作結(jié)果:內(nèi)容為[printf("\nupper=%dlowed\n",___3___);]本題的考核點(diǎn)是C

語(yǔ)言中輸入輸出函數(shù)及指針的使用。

題中第一個(gè)空填"(*a)++”:程序中,a是一個(gè)整型指針,要使a指向的數(shù)據(jù)實(shí)現(xiàn)遞增,則

要把指針改為實(shí)際數(shù)據(jù)。

同樣道理,題中第二個(gè)空填”(*b)++”或相同作用的語(yǔ)句。

題中第三個(gè)空填"upper,lower”:根據(jù)題義要求輸出統(tǒng)計(jì)的字符串中大寫(xiě)字母和小寫(xiě)字母

的個(gè)數(shù)。

本評(píng)析僅作參考。

11、給定程序中,函數(shù)fun的功能是:有NXN矩陣,根據(jù)給定的m(m<=N)值,將每行元

素中的值均右移m個(gè)位置,左邊置為0。例如,N=3,m=2,有下列矩陣

123

456

789

程序執(zhí)行結(jié)果為

001

004

007

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確結(jié)果。注意:源

程序存放在考生文件夾下的blank50.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(i=0;i<N;i++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(i=0;i<N;__1___)]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[t[i][j+m]=t[i][j];]

實(shí)際操作結(jié)果:內(nèi)容為[t[i][j+_2_]=t[i][j];]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(j=0;j<m;j++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(j=0;j<_3—;j++)]

12、給定程序的功能是對(duì)a數(shù)組中n個(gè)人員的工資進(jìn)行分段統(tǒng)計(jì),各段的人數(shù)存到b數(shù)組

中:工資為1000元以下的人數(shù)存到b[0]中,工資為1000到1999元的人數(shù)存到b[l],工

資為2000到2999元的人數(shù)存到b[2],工資為3000到3999元的人數(shù)存到b[3],工資為

4000到4999元的人數(shù)存到b[4],工資為5000到5999元的人數(shù)存到b[5]中。

例如,當(dāng)a數(shù)組中的數(shù)據(jù)為:900、1800、2700、3800、5900、3300、2400、7500、

3800,調(diào)用該函數(shù)后,b中存放的數(shù)據(jù)應(yīng)是:1、1、2、3、0、2o

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使得程序得出正確的結(jié)果。注

意:源程序存放在考生文件夾下的blank26.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(i=0;i<6;i++)b[i]=0;]

實(shí)際操作結(jié)果:內(nèi)容為[for(i=0;i<6;i++)b[i]=_1__;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[elseb[a[i]/1000]++;]

實(shí)際操作結(jié)果:內(nèi)容為[—2—b[a[i]/1000]++;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(i=0;i<6;i++)printf(級(jí)d”,b[i]);]實(shí)際操作結(jié)果:

內(nèi)容為[for(i=0;i<6;i++)printf("%d",__3___);]

本題的考核點(diǎn)是統(tǒng)計(jì)工資段的算法。

解題思路:本題先對(duì)數(shù)組b初始化,通過(guò)for循環(huán)a[i]/1000,將年齡整除1000后存放到

數(shù)組b中,再通過(guò)b[a[i]/1000]++運(yùn)算進(jìn)行累加,即實(shí)現(xiàn)了各個(gè)工資段的人數(shù)的統(tǒng)計(jì)。

本評(píng)析僅供參考。

13、在考生文件夾下的給定程序modi21.c中,函數(shù)fun的功能是:將一個(gè)由八進(jìn)制數(shù)字

組成的字符串轉(zhuǎn)換為與其面值相等的十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含5位8

進(jìn)制數(shù)字。

例如,若輸入77777,則輸出將是32767。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[n=*p-'0';]

實(shí)際操作結(jié)果:內(nèi)容為[n=*p「o';]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[n=n*8+*p-'0';]

實(shí)際操作結(jié)果:內(nèi)容為[n=n*7+*p-'o';]

14、給定程序的功能是把s串中所有的字母改寫(xiě)成該字母的下一個(gè)字母,字母z改寫(xiě)成字

母a。大寫(xiě)字母仍為大寫(xiě)字母,小寫(xiě)字母仍為小寫(xiě)字母,其它的字符不變。

例如:s串中原有的字符串為:Mn.123Zxy,則調(diào)用該函數(shù)后,s串中的內(nèi)容為:

No.123Ayz?請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確結(jié)

果。注意:源程序存放在考生文件夾下的blank49.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[char*p=s;]

實(shí)際操作結(jié)果:內(nèi)容為[char*p=___1___;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[if(*P=='Z')*p='A';]

實(shí)際操作結(jié)果:內(nèi)容為[if(*p=='Z')*p=_2__;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[elseif(*p=='z')*p='a';]

實(shí)際操作結(jié)果:內(nèi)容為[elseif(*p='z')*p=__3___;]

15、在考生文件夾下的給定程序modi77.c中,函數(shù)fun的功能是:通過(guò)某種方式實(shí)現(xiàn)兩

個(gè)變量值的交換,規(guī)定不允許增加語(yǔ)句和表達(dá)式。例如變量a中的值為3,b中的值原為

8,程序運(yùn)行后a中的值為8,b中的值為3。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[t=*x;*x=y;]

實(shí)際操作結(jié)果:內(nèi)容為[t=x;x=y;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[returnt;]

實(shí)際操作結(jié)果:內(nèi)容為[return(y);]

16、編寫(xiě)函數(shù)fun,它的功能是:根據(jù)以下公式求P的值,結(jié)果由函數(shù)值帶回。m與n為

兩個(gè)正整數(shù)且要求m>n?

m!

P二----------

n!(m-n)!

例如:m=如,n=8時(shí),運(yùn)行結(jié)果為495.000000。

注意:部分源程序存在考生文件夾下的文件prog46.c中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的

若干語(yǔ)句。

本題的考核點(diǎn)是求階乘的算法。

解題思路:分別通過(guò)三個(gè)循環(huán)來(lái)求得m的階乘,n的階乘,m-n的階乘。求m階乘的方法

是:從1到m累計(jì)乘積。

本評(píng)析僅供參考。

floatfun(intm,intn)

{inti;

floats=l,f=l,h=l;

floatx;

for(i=m;i>=l;i―)s=s*i;/*求出m的階乘*/

for(i=n;i>=l;i-)f=f*i;/*求出n的階乘*/

for(i=m-n;i>=l;i—)h=h*i;/*求出m-n的階乘*/

x=s/(f*h);

return(x);

17、在考生文件夾下的給定程序modi24.c中,函數(shù)fun的功能是:將s所指字符串的反

序和正序進(jìn)行連接形成一個(gè)新串放在t所指的數(shù)組中。

例如,當(dāng)s所指字符串的內(nèi)容為"ABCD''時(shí),

t所指數(shù)組中的內(nèi)容為"DCBAABCD”。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[inti,sl;]

實(shí)際操作結(jié)果:內(nèi)容為[inti;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[t[i]=s[sl-iT];]

實(shí)際操作結(jié)果:內(nèi)容為

18、函數(shù)fun的功能是:將s所指字符串中ASCH值為偶數(shù)的字符刪除,串中剩余字符形

成一個(gè)新串放在t所指的數(shù)組中。

例如,若s所指字符串中的內(nèi)容為:“ABCDEFG12345",其中字符B的ASCH碼值為偶

數(shù)、…、字符2的ASCH碼值為偶數(shù)、…都應(yīng)當(dāng)刪除,其他依次類推。最后t所指的數(shù)組

中的內(nèi)容是:“ACEG135”。

注意:部分源程序存在考生文件夾下的文件prog49.c中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的

若干語(yǔ)句。

本題的考核點(diǎn)是數(shù)組、循環(huán)語(yǔ)句。

解題思路:使用循環(huán)語(yǔ)句將數(shù)組元素與2做取余操作,如果余數(shù)不為零則將其值存入另外

一個(gè)數(shù)組中。

本評(píng)析僅供參考。

voidfun(char*s,chart口)

(

inti,slenth,n=0;

slenth=strlen(s);/*統(tǒng)計(jì)字符串s中字符的個(gè)數(shù)*/

/*判斷字符s[i]其值的ASCII碼值是否為偶數(shù),如果是,則繼續(xù)下一個(gè)字符的判斷,否則

將字符s[i]復(fù)制到t數(shù)組中*/

for(i=0;i<slenth;i++)

if(s[i]%2!=0)

t[n++]=s[i];

t[n]='\0';

19、給定程序的功能是把在字符串s中出現(xiàn)的每個(gè)字符,緊隨其后重復(fù)出現(xiàn)一次,形成一

個(gè)新串放在t中,且在t中把原相鄰字符的位置進(jìn)行了交換。

例如:當(dāng)s中的字符串為:"12345”時(shí),則t中的字符串應(yīng)為:”2211443355”。請(qǐng)?jiān)诔绦?/p>

的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確結(jié)果。注意:源程序存放

在考生文件夾下的blank44.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

笫[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[si=strlen(s);]

實(shí)際操作結(jié)果:內(nèi)容為[sl=—1—(s);]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為仃++;]

實(shí)際操作結(jié)果:內(nèi)容為

第3處內(nèi)容填寫(xiě)有誤

20、在考生文件夾下的給定程序modi63.c中,在主函數(shù)中從鍵盤輸入若干個(gè)數(shù)放入數(shù)組

中,用0結(jié)束輸入并放在最后一個(gè)元素中。下列程序中,函數(shù)fun的功能是:計(jì)算數(shù)組元

素中值為正數(shù)的平均值(不包括0)。

例如:數(shù)組中元素中的值依次為:39,-47,21,2,-8,15,0,則程序的運(yùn)行結(jié)果為:

19.250000?

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[doublesum=0.0;]

實(shí)際操作結(jié)果:內(nèi)容為[intsum=0;]

21、在考生文件夾下的給定程序modil55.c中,函數(shù)fun的功能是:刪除字符串s中的

所有空白字符(包括Tab字符、回車符及換行符)。

輸入字符串時(shí)用結(jié)束輸入。

請(qǐng)改正程序中的錯(cuò)誤,使它能輸出正確的結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[c[t]=0;]

實(shí)際操作結(jié)果:內(nèi)容為

For”應(yīng)為小寫(xiě),程序應(yīng)改為“for

22、在考生文件夾下的給定程序modi57.c中,函數(shù)fun的功能是:將字符串tt中的小寫(xiě)

字母改為對(duì)應(yīng)的大寫(xiě)字母,其它字符不變。

例如,若輸入"Ab,cD”,則輸出"AB,CD”。

請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[if(('a><=tt[i])&&(tt[i]<=z'))]

實(shí)際操作結(jié)果:內(nèi)容為[if(('a<=tt[i])||(tt[i"=‘z'))]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[tt[i]-=32;]

實(shí)際操作結(jié)果:內(nèi)容為[tt[i]+=32;]

23、給定程序的功能是:在x數(shù)組中放入n個(gè)采樣值,計(jì)算并輸出方差值。N(XK-X')'2

NXK

S=E----------------,其中X'=L—

K=1NK=1N

例如n=8,輸入:193.199、195.673、195.757、196.051、196.092、196.596、196.579、

196.763時(shí),結(jié)果應(yīng)為:1.135901.

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:

源程序存放在考生文件夾下的blankl5.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(j=0;j<n;j++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(j=0;__1_;j++)]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[s=0;]

實(shí)際操作結(jié)果:內(nèi)容為[s=_2_;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[s+=(x[j]-xa)*(x[j]-xa)/n;]

實(shí)際操作結(jié)果:內(nèi)容為[s+=(x[j]-xa)*(x[j]-xa)/___3___;]

24、考生文件夾中的文件modiH5.c中程序的功能是:判斷兩個(gè)整數(shù)m和n是否互質(zhì)(即

是否有公共的因子)(m^l,n^l)o方法是:用2到t(t取m和n中較小的那個(gè)數(shù))

之間的數(shù)分別去除m和n,若m和n能同時(shí)被某個(gè)數(shù)除盡,則m和n不互質(zhì):否則它們互

質(zhì)。例如,若輸入187和85,則應(yīng)輸出No(表示它們不互質(zhì),它們有公因子17)。若輸

入89和187,則應(yīng)輸出Yes(表示它們互質(zhì))。

請(qǐng)改正程序中的錯(cuò)誤,使它能計(jì)算出正確的結(jié)果。

注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(k=2;k〈=t;k++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(k=l;k<=t;k++)]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[scanf("%d%d”,&m,&n);]

實(shí)際操作結(jié)果:內(nèi)容為[scanf("&d&d",&m,&n);]

25、給定程序的功能是將n個(gè)人員的考試成績(jī)進(jìn)行分段統(tǒng)計(jì),考試成績(jī)放在a數(shù)組中,各

分段的人數(shù)存到b數(shù)組中:成績(jī)?yōu)?0到69的人數(shù)存到b[0]中,成績(jī)?yōu)?0到79的人數(shù)存

到b⑴,成績(jī)?yōu)?0到89的人數(shù)存到b[2],成績(jī)?yōu)?0到99的人數(shù)存到b[3],成績(jī)?yōu)?/p>

100的人數(shù)存到b[4],成績(jī)?yōu)?0分以下的人數(shù)存到b[5]中。

例如,當(dāng)a數(shù)組中的數(shù)據(jù)是:93、85、77、68、59、43、94、75、98.

調(diào)用該函數(shù)后,b數(shù)組中存放的數(shù)據(jù)應(yīng)是:1、2、1、3、0、2。

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:

源程序存放在考生文件夾下的blank27.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(i=0;i<n;i++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(i=0;i<_1_;i++)]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[elseb[(a[i]-60)/10]++;]

實(shí)際操作結(jié)果:內(nèi)容為[—2—b[(a[i]-60)/10]++;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[fun(a,b,9);]

實(shí)際操作結(jié)果:內(nèi)容為[fun(_3_,9);]

26、給定程序的功能是將大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母之后的第五個(gè)字母;若小寫(xiě)字母為

v?z,使小寫(xiě)字母的值減21。轉(zhuǎn)換后的小寫(xiě)字母作為函數(shù)值返回。例如,若形參是字母

A,則轉(zhuǎn)換為小寫(xiě)字母f;若形參是字母W,則轉(zhuǎn)換為小寫(xiě)字母b。

請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:

源程序存放在考生文件夾下的blankll.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[c=c+5;]

實(shí)際操作結(jié)果:內(nèi)容為[c=c+—1一;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[returnc;]

實(shí)際操作結(jié)果:內(nèi)容為[return_2__;]

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[c2=fun(cl);]

實(shí)際操作結(jié)果:內(nèi)容為[c2=fun(_3_);]

27、在考生文件夾下的給定程序modil53.c中,函數(shù)fun的功能是:統(tǒng)計(jì)子字符串

substr在字符串str中出現(xiàn)的次數(shù)。

例如,若字符串為aaasIkaaas,子字符串為as,則應(yīng)輸出字

請(qǐng)改正程序中的錯(cuò)誤,使它能計(jì)算出正確的結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[for(i=0;str[i];i++)]

實(shí)際操作結(jié)果:內(nèi)容為[for(i=0,str[i],i++)]

第2處內(nèi)容填寫(xiě)有誤

笫[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[if(substr[k+l]=='\0')]

實(shí)際操作結(jié)果:內(nèi)容為[If(substr[k+l]=='\0')]

28、給定程序的功能是將十進(jìn)制正整數(shù)m轉(zhuǎn)換成k進(jìn)制(2WkW9)數(shù)的數(shù)字輸出。例

如,若輸入8和2,則應(yīng)輸出1000(即十進(jìn)制數(shù)8轉(zhuǎn)換成二進(jìn)制表示是1000)。請(qǐng)?jiān)诔?/p>

序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。注意:源程序

存放在考生文件夾下的blank?.c中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

第1處內(nèi)容填寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[aa[i]=m%k;]

實(shí)際操作結(jié)果:內(nèi)容為

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[m/=k;]

實(shí)際操作結(jié)果:內(nèi)容為

第3處內(nèi)容填寫(xiě)有誤

第[3]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[printf("%d",aa[i-1]);]

實(shí)際操作結(jié)果:內(nèi)容為[printf("刎",—3—[i-1]);]

29、在考生文件夾下的給定程序modil41.c的功能是:讀入一行英文文本,將其中每個(gè)單

詞的最后一個(gè)字母改成大寫(xiě),然后輸出此文本行(這里的"單詞”是指由空格隔開(kāi)或句號(hào)結(jié)

尾的字符串)。

例如,若輸入Iamastudenttotaketheexamination.,

則應(yīng)輸出"IaMAstudenTtOtakEthEexaminatioN."

請(qǐng)改正程序中的錯(cuò)誤,使它能計(jì)算出正確的結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!第1處內(nèi)容填

寫(xiě)有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[intk=0;]

實(shí)際操作結(jié)果:內(nèi)容為[INTk=0;]

第2處內(nèi)容填寫(xiě)有誤

第[2]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[*(p-1)=toupper(*(p-1));]

實(shí)際操作結(jié)果:內(nèi)容為[*(pT)=toupper(*(pT);]

30、在考生文件夾下的給定程序modi84.c中,函數(shù)fun的功能是:判斷一個(gè)整數(shù)m是否

是素?cái)?shù),若是返回1,否則返回0。

在main。函數(shù)中,若fun返回1,輸出YES,若fun返回0,輸出N0!。請(qǐng)改正程序中的

錯(cuò)誤,使它能得出正確結(jié)果。

注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!第1處內(nèi)容填寫(xiě)

有誤

第[1]處操作錯(cuò)誤

題面要求操作:內(nèi)容為[k++;]

實(shí)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論