國家計(jì)算機(jī)二級(jí)考試上機(jī)試題庫_第1頁
國家計(jì)算機(jī)二級(jí)考試上機(jī)試題庫_第2頁
國家計(jì)算機(jī)二級(jí)考試上機(jī)試題庫_第3頁
國家計(jì)算機(jī)二級(jí)考試上機(jī)試題庫_第4頁
國家計(jì)算機(jī)二級(jí)考試上機(jī)試題庫_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

二級(jí)C-第1套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:求SS所指字符串?dāng)?shù)組中長度最短的字符串所在的行

下標(biāo),作為函數(shù)值返回,并把其串長放在形參n所指的變量中。ss所指字符串?dāng)?shù)組中共有M

個(gè)字符串,且串長小于N。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

(1)M(2)<(3)k

二、程序修改題

下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對(duì)應(yīng)的大寫字

母,其它字符不變。

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

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

注意:部分源程序在文件MODU.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

【參考答案】

(l)if((tt[i]>='a')&&(tt[i]<='z'))

(2)tt[i]-=32;

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中,非素?cái)?shù)

的個(gè)數(shù)通過k返回。

例如,若輸入17,則應(yīng)輸出:46891012141516,

注意:部分源程序在文件PROG1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(intm,int*k,intxx[])

inti,j,n=0;

for(i=4;i<m;i++)

/*找出大于1小于整數(shù)m的非素?cái)?shù)*/

{for(j=2;j<i;j++)

if(i%j==O)break;

if(j<i)xx[n++]=i;

)

*k=n;

/*返回非素?cái)?shù)的個(gè)數(shù)*/

}

二級(jí)(:_第2套上機(jī)題

一、程序填空題

函數(shù)fun的功能是:統(tǒng)計(jì)所有小于等于n(n>2)的素?cái)?shù)的個(gè)數(shù),素?cái)?shù)的個(gè)數(shù)作為函數(shù)值返回。

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

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

(Dj=2(2)i(3)j

二、程序修改題

數(shù)列中,第一項(xiàng)為3,后一項(xiàng)都比前一項(xiàng)的值增5。下列給定程序中,函數(shù)fun的功能是:

計(jì)算前n(4<n<50)項(xiàng)的累計(jì)和。在累加過程中把那些被4除后余2的當(dāng)前累加值放入數(shù)組中,

符合此條件的累加值的個(gè)數(shù)作為函數(shù)值返回。

例如,當(dāng)n的值為20時(shí),該數(shù)列為3、8、13、18、23、28、…、93、98,符合此條件的累

加值應(yīng)為42、126、366、570、1010,

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

注意:部分源程序在文件M0DH.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)!

【參考答案】

(1)inti,j=0,k.sum;

(2)if(sum%4==2)

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出下列多項(xiàng)式的值,

S=(1-1/2)+(1/3-1/4)4----卜(l/(2n-l)-l/2n)

例如,若主函數(shù)從鍵盤給n輸入8后,則輸出為S=0.662872。

注意:要求n的值大于1但不大于100。部分源程序在文件PR0G1.C中。

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

語句。

【參考答案】

doublefun(intn)

(

inti;

doubles=0.0;

for(i=l;i<=n;i++)

s=s+(l.0/(2*i-l)-l.0/(2*i));/*計(jì)算S=(1-1/2)+(1/3-1/4)+(l/(2n-l)-l/2n)

*/

returns;

)

二級(jí)(:_第3套上機(jī)題

一、程序填空題

程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)學(xué)生的學(xué)號(hào)、和3門課的成績。函數(shù)fun的功能是:對(duì)

形參b所指結(jié)構(gòu)體變量中的數(shù)據(jù)進(jìn)行修改,并在主函數(shù)中輸出修改后的數(shù)據(jù)。

例如,若b所指變量t中的學(xué)號(hào)、和三門課的成績依次是:10002、"ZhangQi"、93、85、87,

修改后輸出t中的數(shù)據(jù)應(yīng)為:10004、"LiJie"、93、85、87。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)->sno(2)->name(3)&t

二、程序修改題

下列給定程序中函數(shù)fun的功能是:用遞歸算法求形參a的平方根。求平方根的迭代公式如

下:

例如,a為2時(shí),平方根值為:1.414214。

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

注意:部分源程序在文件MODILC中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(1)doublefun(doublea,doublexO)

(2)if(fabs(xl-xO)>=0.00001)

三、程序設(shè)計(jì)題

學(xué)生的記錄由學(xué)號(hào)和成績組成。N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫

函數(shù)fun,其功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分

的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。

注意:部分源程序在文件PROGLC中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

doublefun(STREC*a,STREC*b,int*n)

(

inti;

doubleav=0.0;

*n=0;

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

av=av+a[i].s;

av=av/N;/*求平均值*/

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

if(av<=a[i].s)

{b[*n]=a[i];*n=*n+l;}/*將高于等于平均分的學(xué)生存入b所指存儲(chǔ)單元中,并統(tǒng)計(jì)人數(shù)

*/

returnav;/*返回平均分*/

)

二級(jí)C_第4套上機(jī)題

一、程序填空題

給定程序中,函數(shù)fun的功能是:利用指針數(shù)組對(duì)形參ss所指字符串?dāng)?shù)組中的字符串按由

長到短的順序排序,并輸出排序結(jié)果。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長小于M。

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

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)i(2)ps[j](3)tp

二、程序修改題

已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng):0、0、1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列

給定的程序中,函數(shù)fun的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和sum。n的值通

過形參傳入。

例如,當(dāng)n=10時(shí),程序的輸出結(jié)果應(yīng)為23.197745。

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

注意:部分源程序在文件M0DI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)!

【參考答案】

(1)doublefun(intn)

(2)returnsum;

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,它的功能是計(jì)算下列級(jí)數(shù)和,和值由函數(shù)值返回。

S=l+x+x2/2!+x3/3!+…+xn/n!

例如,當(dāng)n=10,x=0.3時(shí),函數(shù)值為1.349859。

注意:部分源程序在文件PROG1.C中。

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

語句。

【參考答案】

doublefun(doublex,intn)

(

inti;

doubles=l.0,sl=l.0;

for(i=l;i<=n;i++)

{sl=sl*i;/*各項(xiàng)中的階乘*/

s=s+pow(x,i)/sl;/*按公式求出*/

)

returns;

}

二級(jí)C_第5套上機(jī)題

一、程序填空題

程序通過定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲(chǔ)若干名學(xué)生的學(xué)號(hào)、和三門課的成績。函數(shù)fun的功能

是:將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,按的字典序(從小到大)排序。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)structstudent(2)n-1

(3)a[i].name,a[j].name

二、程序修改題

下列給定程序中函數(shù)fun的功能是:從p所指字符串中找出ASCH碼值最大的字符,將其放

在第一個(gè)位置上,并將該字符前的原字符向后順序移動(dòng)。

例如,調(diào)用fun函數(shù)之前給字符串輸入"ABCDeFGH",調(diào)用后字符串中的容應(yīng)為"eABCDFGH”。

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

注意:部分源程序在文件M0DH.C中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(l)q=p+i;

(2)while(q>p)

三、程序設(shè)計(jì)題

學(xué)生的記錄由學(xué)號(hào)和成績組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中。請(qǐng)編寫

函數(shù)fun,其功能是:把指定分?jǐn)?shù)圍的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)圍的學(xué)生人數(shù)由函

數(shù)值返回。

例如,輸入的分?jǐn)?shù)是60、69,則應(yīng)當(dāng)把分?jǐn)?shù)在60飛9的學(xué)生數(shù)據(jù)輸出,包含60分和69分的學(xué)

生數(shù)據(jù)。主函數(shù)中把60放在low中,把69放在heigh中。

注意:部分源程序在文件PR0G1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

intfun(STREC*a,STREC*b,int1,inth)

(

inti,j=0;

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

if(a[il.s>=l&&a[i].s<=h)

/*將分?jǐn)?shù)高于1,低于h的學(xué)生記錄存入結(jié)構(gòu)體數(shù)組b中*/

b[j++]=a[i];

returnj;/*返回分?jǐn)?shù)圍的學(xué)生人數(shù)*/

}

二級(jí)(2_第6套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:將s所指字符串中的所有數(shù)字字符移到所有非數(shù)字字

符之后,并保持?jǐn)?shù)字字符串和非數(shù)字字符串原有的次序。

例如,s所指的字符串為"def35adh3kjsdf7",執(zhí)行后結(jié)果為"defadhajsdf3537"。

請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的容把下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

⑴j++或j+=l或++j或j=j+l

⑵s[i]=tl[i]⑶j

二、程序修改題

下列給定程序中函數(shù)fun的功能是:用冒泡法對(duì)6個(gè)字符串進(jìn)行升序排列。

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

注意:部分源程序在文件MODILC中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

【參考答案】

(l)for(j=i+1;j<6;j++)

(2)*(pstr+i)=*(pstr+j);

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:求ss所指字符串中指定字符的個(gè)數(shù),并返回此值。

例如,若輸入字符串123412132,輸入字符為1,則輸出3。

注意:部分源程序在文件PR0GLC中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

intfun(char*ss,charc)

(

inti=0;

for(;*ss!='\0';ss++)

if(*ss==c)

i++;/*求出ss所指字符串中指定字符的個(gè)數(shù)*/

returni;

}

二級(jí)C_第7套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是計(jì)算下式

直到

,并將計(jì)算結(jié)果作為函數(shù)值返回。

例如,若形參e的值為le-3,函數(shù)的返回值為2.985678。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)0(2)i++或++i或i+=l或i=i+l(3)2.0*i

二、程序修改題

下列給定程序中函數(shù)fun的功能是:將s所指字符串的正序和反序進(jìn)行連接,形成的新串放

在t所指的數(shù)組中。

例如,當(dāng)s所指字符串為:"ABCD"時(shí),t所指字符串中的容應(yīng)為:"ABCDDCBA"。

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

注意:部分源程序在文件MODILC中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(1)voidfun(char*s,char*t)

(2)t[2*d]='\0';或t[d+i]='\O';或t[2*d]=0;或t[d+i]=0;

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為奇數(shù)同時(shí)ASCH值也為奇數(shù)的字符

之外,其余的所有字符全部刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。

例如,若s所指字符串的容為:"ABCDEFG12345",其中字符A的ASCII碼值為奇數(shù),但所在

元素的下標(biāo)為偶數(shù),因此需要?jiǎng)h除;而字符1的ASCII碼值為奇數(shù),所在數(shù)組中的下標(biāo)也為

奇數(shù),因此不應(yīng)當(dāng)刪除,其它依此類推。最后t所指數(shù)組中的容應(yīng)為:"135"。

注意:部分源程序在文件PROG1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(char*s,chart[])

(

inti,j=0,n;

n=strlen(s);

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

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

{t[j]=s[i];/*將下標(biāo)為奇數(shù)同時(shí)ASCII碼值為奇數(shù)的字符放入數(shù)組t中*/

j++;

)

t[j]='\O';/*最后加上結(jié)束標(biāo)識(shí)符*/

}

二級(jí)C_第8套上機(jī)題

一、程序填空題

程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)學(xué)生的學(xué)號(hào)、和3門課的成績。函數(shù)fun的功能是:將

形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進(jìn)行修改,并把a(bǔ)的地址作為函數(shù)值返回主函數(shù),從主函

數(shù)中輸出修改的數(shù)據(jù)。

例如,a所指變量s中的學(xué)號(hào)、和三門課的成績依次是:10001、"ZhangSan"、95、80、88,

修改后輸出t中的數(shù)據(jù)應(yīng)為:10002、"LiSi"、96、81、89。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)structstudent*(2)a->score[i](3)a

二、程序修改題

下列給定程序中函數(shù)fun的功能是:從N個(gè)字符串中找出最長的串,并將其地址作為函數(shù)值

返回。各字符串在主函數(shù)中輸入,并放入一個(gè)字符串?dāng)?shù)組中。

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

注意:部分源程序在文件M0DH.C中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(l)char*fun(char(*sq)[M])

(2)returnsp;

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:將a、b中的兩個(gè)兩位正整數(shù)合并成一個(gè)新的整數(shù)放在c中。合

并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的百位和個(gè)位上,b中的十位和個(gè)位數(shù)

依次放在變量c的十位和千位上。

例如,當(dāng)a=45,b=12,調(diào)用該函數(shù)后c=2415。

注意:部分源程序在文件PR0G1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(inta,intb,long*c)

(

*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;

)

二級(jí)C_第9套上機(jī)題

一、程序填空題

程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)學(xué)生的學(xué)號(hào)、和3門課的成績。函數(shù)fun的功能是:將

形參a中的數(shù)據(jù)進(jìn)行修改,把修改后的數(shù)據(jù)作為函數(shù)值返回主函數(shù)進(jìn)行輸出。

例如,若傳給形參a的數(shù)據(jù)中學(xué)號(hào)、和三門課的成績依次是:10001、"ZhangSan"、95、80、

88,修改后的數(shù)據(jù)應(yīng)為:10002,"LiSi\96、81、89。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)structstudent(2)a.name

(3)a.score[i]

二、程序修改題

假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。下列給定程序中函數(shù)fun的功能是:刪除數(shù)

列中值為x的元素。變量n中存放數(shù)列中元素的個(gè)數(shù)。

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

注意:部分源程序在文件M0DILC中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(1)if(p==n)return-1;

(2)a[i]=a[i+l];

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并成一個(gè)整數(shù)放在c中。合并的

方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放

在c數(shù)的千位和十位上。

例如,當(dāng)a=45,b=12時(shí),調(diào)用該函數(shù)后,c=1524。

注意:部分源程序在文件PR0G1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。

請(qǐng)勿動(dòng)改主函數(shù)的main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)填入你編寫的若干

語句。

【參考答案】

voidfun(inta,intb,long*c)

(

*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;

)

二級(jí)C—第10套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:在形參s所指字符串中的每個(gè)數(shù)字字符之后插入一個(gè)

*號(hào)。例如,形參s所指的字符串為"def35adh3kjsdf7",執(zhí)行后結(jié)果為

"def3*5*adh3*kjsdf7*"

注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)&&(2)0或'\0'⑶s[j]或*(s+j)

二、程序修改題

下列給定程序中函數(shù)fun的功能是:根據(jù)整型形參m,計(jì)算如下公式的值。

例如,若m的值為5,則應(yīng)輸出1.463611。

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

注意:部分源程序在文件MODU.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

【參考答案】

(1)for(i=2;i<=m;i++)

(2)y+=l.0/(i*i);或y+=(double)1.0/(i*i)

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:實(shí)現(xiàn)B=A+A',即將矩陣A加上A的轉(zhuǎn)置,存放在矩陣B中。計(jì)

算結(jié)果在main函數(shù)中輸出。

例如,輸入下面的矩陣:其轉(zhuǎn)置矩陣為:

程序輸出:

注意:部分源程序在文件PR0GLC中。

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

若干語句。

【參考答案】

voidfun(inta[3][3],intb[3][3])

(

inti,j;

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

for(j=0;j<3;j++)

b[i][j]=a[i][j]+a[j][i];/*把矩陣a加上a的轉(zhuǎn)置,存放在矩陣b中*/

}

二級(jí)C_第11套上機(jī)題

一、程序填空題

給定程序中,函數(shù)fun的功能是:判斷形參s所指字符串是否是"回文"(Palindrome),若是,

函數(shù)返回值為1;不是,函數(shù)返回值為0。"回文"是正讀和反讀都一樣的字符串(不區(qū)分大小

寫字母)。

例如,LEVEL和Level是"回文",而LEVLEV不是"回文"。

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

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

(1)s(2)—(3)return0

二、程序修改題

下列給定程序中,函數(shù)fun的功能是:求出如下分?jǐn)?shù)列的前n項(xiàng)之和。

和值通過函數(shù)值返回main函數(shù)。例如,若n=5,則應(yīng)輸出8.391667。

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

注意:部分源程序在文件MODH.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)!

【參考答案】

(1)doublefun(intn)

(2)s=s+(double)a/b;

三、程序設(shè)計(jì)題

請(qǐng)編寫一個(gè)函數(shù)voidfun(intm,intk,intxx[]),該函數(shù)的功能是:將大于整數(shù)m且

緊靠m的k個(gè)素?cái)?shù)存入所指的數(shù)組中。

例如,若輸入17,5,則應(yīng)輸出19、23、29、31、37。

注意:部分源程序在文件PR0G1.C中。

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

語句。

【參考答案】

voidfun(intm,intk,intxx[])

(

inti,j,n;

for(i=m+l,n=0;n<k:i++)/*找大于m的素?cái)?shù),循環(huán)k次,即找出緊靠m的k個(gè)素?cái)?shù)*/

{for(j=2;j<i;j++)/*判斷一個(gè)數(shù)是否為素?cái)?shù),如果不是,跳出此循環(huán),判斷下一個(gè)數(shù)

*/

if(i%j==O)break;

if(j>=i)/*如果是素?cái)?shù),放入數(shù)組xx中*/

xx[n++]=i;

)

}

二級(jí)C_第12套上機(jī)題

一、程序填空題

函數(shù)fun的功能是:統(tǒng)計(jì)長整數(shù)n的各位上出現(xiàn)數(shù)字1、2、3的次數(shù),并用外部(全局)變量

cl,c2、c3返回主函數(shù)。

例如,當(dāng)n=123114350時(shí),結(jié)果應(yīng)該為:cl=3c2=lc3=2。

注意:部分源程序在文件BLANKLC中。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何容,僅在函數(shù)fun的橫線上填入所編寫的若干表達(dá)

式或語句。

【參考答案】

(1)n%10(2)break(3)break

二、程序修改題

下列給定程序中,函數(shù)fun實(shí)現(xiàn)的功能是:統(tǒng)計(jì)一個(gè)無符號(hào)整數(shù)中各位數(shù)字值為0的個(gè)數(shù),

通過形參傳回主函數(shù),并把該整數(shù)中各位上最大的數(shù)字值作為函數(shù)值返回。例如,若輸入無

符號(hào)整數(shù)30800,則數(shù)字值為0的位的個(gè)數(shù)為3,各位上數(shù)字值最大的是8。

請(qǐng)改正函數(shù)fun中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件MOD".C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)。

【參考答案】

(l)if(t==0)

(2)*zero=count;

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出下列多項(xiàng)式的值。

例如,在主函數(shù)中從鍵盤為n輸入50后,輸出為S=L718282。

注意:要求n的值在大于1但不大于100之間。部分源程序在文件PR0G1.C中。

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

語句。

【參考答案】

doublefun(intn)

(

doub1eSUHFO,tmp二1;

inti;

for(i=l;i<=n;i++)

(

tmp=tmp*i;

sum+=l.0/tmp;

)

returnsum;

)

二級(jí)C_第13套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中查找與形參t所指字符

串相同的串,找到后返回該串在字符串?dāng)?shù)組中的位置(即下標(biāo)值),若未找到則返回一1。ss

所指字符串?dāng)?shù)組中共有N個(gè)容不同的字符串,且串長小于M。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

(1)N(2)i(3)-1

二、程序修改題

下列給定程序中函數(shù)fun的功能是:從整數(shù)10到55之間,查找能被3整除且有一位上的數(shù)

值是5的數(shù),把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個(gè)數(shù)作為函數(shù)值返回。規(guī)定函數(shù)中

al放個(gè)位數(shù),a2放十位數(shù)。

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

注意:部分源程序在文件M0DH.C中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(l)a2=k/10;

(2)returni;

三、程序設(shè)計(jì)題

規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:將字符串尾部的*號(hào)全

部刪除,前面和中間的*號(hào)不動(dòng)。

例如,字符串中的容為:"****A*BC*DEF*G*******",刪除后,字符串中的容應(yīng)當(dāng)是:

"****A*BC*DEF*G"。在編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。

注意:部分源程序在文件PR0GLC中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(char*a)

(

while(*a!='\0')

a++;

a—;/*指針a指向字符串的尾部*/

while(*a=='*')

a—;/*指針a指向最后一個(gè)字母*/

*(a+l)='\0';/*在字符串最后加上結(jié)束標(biāo)志符*/

)

二級(jí),_第14套上機(jī)題

一、程序填空題

給定程序中,函數(shù)fun的功能是:統(tǒng)計(jì)形參s所指的字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放

在形參t所指的變量中,最后在主函數(shù)中輸出。例如,若形參s所指的字符串為

nabcdef35adgh3kjsdf7",則輸出結(jié)果為4。

請(qǐng)?jiān)谙庐嬀€處填入正確容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

⑴s[i](2)'9'(3)*t=n

二、程序修改題

下列給定程序中函數(shù)fun的功能是:實(shí)現(xiàn)兩個(gè)變量值的交換,規(guī)定不允許增加語句和表達(dá)式。

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

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

注意:部分源程序在文件M0DH.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

【參考答案】

⑴t=*x;*x=y;

(2)return(t);或returnt;

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:求出11000之間能被7或H整除,但不能同時(shí)被7和11整除

的所有整數(shù),并將其放在a所指的數(shù)組中,通過n返回這些數(shù)的個(gè)數(shù)。

注意:部分原程序在文件PR0G1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(int*a,int*n)

(

inti,j=0;

for(i=l;i<=1000;i++)

/*求1到1000之能被7或11整除、但不能同時(shí)被7和11整除的所有整數(shù),并放入數(shù)組a

中*/

if((i%7==0i%ll==0)&&i%77!=0)

a[j++]=i;

*n=j;

)

二級(jí)C_第15套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:計(jì)算下式前n項(xiàng)的和,并作為函數(shù)值返回。

例如,當(dāng)形參n的值為10時(shí),函數(shù)返回:-0.204491

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)1(2)2*i(3)(-1)

二、程序修改題

下列給定程序中函數(shù)fun的功能是:判斷一個(gè)整數(shù)是否為素?cái)?shù),若是素?cái)?shù)返回1,否則返回

0o

在main。函數(shù)中,若fun返回1輸出YES,若fun返回0輸出NO!。

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

注意:部分源程序在文件MODILC中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(l)k++;

(2)if(m==k)

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,其功能是:找出一維整型數(shù)組元素中最大的值及其所在的下標(biāo),并通過形

參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。

主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素

的下標(biāo)。

注意:部分源程序在文件PR0G1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(inta[],intn,int*max,int*d)

(

inti;

*max=a[0];

*d=0;

for(i=0;i<n;i++)/*將最大的元素放入指針max所指的單元,最大元素的下標(biāo)放入指針

d所指的單元*/

if(*max<a[i])

{*max=a[i];*d=i;)

}

二級(jí)C_第16套上機(jī)題

一、程序填空題

函數(shù)fun的功能是:計(jì)算

的前n項(xiàng)。若x=2.5,函數(shù)值為12.182340。

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

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

(1)1.0(2)1(3)i

二、程序修改題

下列給定程序中,函數(shù)fun的功能是:找出100?n(不大于1000)之間三個(gè)位上的數(shù)字都相

等的所有整數(shù),把這些整數(shù)放在s所指的數(shù)組中,個(gè)數(shù)作為函數(shù)值返回。

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

注意:部分源程序在文件M0DH.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)。

【參考答案】

(l)k=i;

(2)b=k%10;

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出給定10個(gè)數(shù)的方差。

其中:

例如,給定的10個(gè)數(shù)為95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,

則輸出為S=11.730729?

注意:部分源程序在文件PR0G1.C中。

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

語句。

【參考答案】

doublefun(doublex[10])

(

doublexl=0.0,s=0.0;

inti;

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

xl=xl+x[i];

xl=xl/10;/*求10個(gè)數(shù)的平均值*/

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

s=s+(x[i]-xl)*(x[i]-xl);

returnsqrt(s/10);/*求10個(gè)數(shù)的方差*/

)

二級(jí)C_第17套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將所有串長超過k的

字符串中后面的字符刪除,只保留前面的k個(gè)字符。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,

且串長小于Mo

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)[M](2)N(3)'\0'

二、程序修改題

下列給定程序中函數(shù)fun的功能是:根據(jù)以下公式求口值,并作為函數(shù)值返回。

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

Jt/2=l+l/3+1/3X2/5+1/3X2/5X3/7+1/3X2/5X3/7X4/9+...

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

注意:部分源程序在文件M0DILC中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(l)t=l.0;

(2)return(s*2);

三、程序設(shè)計(jì)題

規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:使字符串的前導(dǎo)*號(hào)不

得多于n個(gè),若多于n個(gè),則刪除多余的*號(hào);若少于或等n個(gè),則不做處理,字符串中間

和尾部的*號(hào)不刪除。

例如,字符串中的容為:*******A*BC*DEF*G****,若n的值為4,刪除后,字符串中的容

應(yīng)當(dāng)是:****A*BC*DEF*G****;若n的值為8,則字符串中的容仍為:*******A*BC*DEF*G****。

n的值在主函數(shù)中輸入。在編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。

注意:部分源程序在文件PR0GLC中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(char*a,intn)

(

inti=0;

intk=0;

char*p,*t;

p=t=a;/*開始時(shí),p與t同時(shí)指向數(shù)組的首地址*/

while(*t==‘*')/*用k來統(tǒng)計(jì)前部星號(hào)的個(gè)數(shù)*/

{k++;t++;}

if(k>n)/*如果k大于n,則使p的前部保留n個(gè)星號(hào),其后的字符依次存入數(shù)組a中*/

{while(*p)

{a[i]=*(p+k-n);

i++;

p++;

}

a[i]='\0';/*在字符串最后加上結(jié)束標(biāo)識(shí)位*/

}

}

二級(jí)C_第18套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:把形參s所指字符串中下標(biāo)為奇數(shù)的字符右移到下一

個(gè)奇數(shù)位置,最右邊被移出字符串的字符繞回放到第一個(gè)奇數(shù)位置,下標(biāo)為偶數(shù)的字符不動(dòng)

(注:字符串的長度大于等于2)。

例如,形參s所指字符串為"abcdefgh",執(zhí)行結(jié)果為"ahcbedgf,

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANK1.C中。

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

【參考答案】

(1)1(2)s[k]或*(s+k)(3)c

二、程序修改題

下列給定程序中fun函數(shù)的功能是:求表達(dá)式

s=aa…aa-----aaa-aa-a

(此處aa…aa表示n個(gè)a,a和n的值在1至9之間)

例如,a=3,n=6,則以上表達(dá)式為:

s=333333-33333-3333-333-33-3

其值是296298。

a和n是fun函數(shù)的形參,表達(dá)式的值作為函數(shù)值傳回main函數(shù)。

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

注意:部分源程序在文件MODILC中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

【參考答案】

(1)longs=0,t=0;

(2)t=t/10;

三、程序設(shè)計(jì)題

編寫函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計(jì)在tt所指的字符串中‘a(chǎn)‘到'z'26個(gè)小寫字

母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)組中。

例如,當(dāng)輸入字符串a(chǎn)bcdefgabcdeabc后,程序的輸出結(jié)果應(yīng)該是:

33322110000000000000000000

注意:部分源程序在文件PROG1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(char*tt,intpp口)

(

inti;

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

pp[i]=0;

/*初始化pp數(shù)組各元素為0*/

for(;*tt!='\0';tt++)

if(*tt>='a'1z')

pp[*tt-'a']++;

}

二級(jí)(:_第19套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,查找含有形參substr

所指子串的所有字符串,并輸出,若沒找到則輸出相應(yīng)信息。SS所指字符串?dāng)?shù)組中共有N

個(gè)字符串,且串長小于M。程序中庫函數(shù)strstr(sl,s2)的功能是在si串中查找s2子串,

若沒有,函數(shù)值為0,若有,函數(shù)值為非0。

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

(1)N(2)substr(3)0

二、程序修改題

下列給定程序中函數(shù)fun的功能是:求三個(gè)數(shù)的最小公倍數(shù)。

例如,若給主函數(shù)中的變量xl、x2、x3分別輸入15112,則輸出結(jié)果應(yīng)當(dāng)是330。

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

注意:部分源程序在文件MODILC中,不得增行或刪行,也不得更改的程序的結(jié)構(gòu)!

【參考答案】

(1)fun(intx,inty,intz)或intfun(intx,inty,intz)

(2)returnj;

三、程序設(shè)計(jì)題

規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:只刪除字符前導(dǎo)和尾

部的*號(hào),串中字母間的*號(hào)都不刪除。形參n給出了字符串的長度,形參h給出了字符串中

前導(dǎo)*號(hào)的個(gè)數(shù),形參e給出了字符串中尾部*號(hào)的個(gè)數(shù)。在編寫函數(shù)時(shí),不得使用C語言提

供的字符串函數(shù)。

例如,字符串中的容為:"****A*BC*DEF*G*******",刪除后,字符串中的容應(yīng)當(dāng)是:

"A*BC*DEF*G"O

注意:部分源程序在文件PR0G1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(char*a,intn,inth,inte)

(

inti,j=0;

for(i=h;i<n-e;i++)/*第一個(gè)字母和最后一個(gè)字母之間的字符全不刪除*/

a[j++]=a[i];

a[j]='\0';/*在字符串最后加上結(jié)束標(biāo)識(shí)*/

)

二級(jí)C_第20套上機(jī)題

一、程序填空題

用篩選法可得到2?n(n<10000)之間的所有素?cái)?shù),方法是:首先從素?cái)?shù)2開始,將所有2

的倍數(shù)的數(shù)從數(shù)表中刪去(把數(shù)表中相應(yīng)位置的值置成0);接著從數(shù)表中找下一個(gè)非0數(shù),

并從數(shù)表中刪去該數(shù)的所有倍數(shù);依此類推,直到所找的下一個(gè)數(shù)等于n為止。這樣會(huì)得到

一個(gè)序列:2,3,5,7,11,13,17,19,23,-

函數(shù)fun的作用是:用篩選法找出所有小于等于n的素?cái)?shù),并統(tǒng)計(jì)素?cái)?shù)的個(gè)數(shù)作為函數(shù)值返

回。

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

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

(Da[i](2)a[i](3)0

二、程序修改題

下列給定的程序中,函數(shù)fun的功能是:為一個(gè)偶數(shù)尋找兩個(gè)素?cái)?shù),這兩個(gè)素?cái)?shù)之和等于該

偶數(shù),并將這兩個(gè)素?cái)?shù)通過形參指針傳回主函數(shù)。

請(qǐng)改正函數(shù)fun中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件M0DILC中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)!

【參考答案】

(l)y=l;

(2)d=a-i;

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:計(jì)算并輸出n(包括n)以所有能被5或9整除的自然數(shù)

的倒數(shù)之和。

例如,若主函數(shù)中從鍵盤給n輸入20后,則輸出為$=0.583333。

注意:n的值要求不大于100。部分源程序在文件PR0GLC中。

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

語句。

【參考答案】

doublefun(intn)

inti;

doubleSUIIFO.0;

for(i=l;i<=n;i++)

if(i%5=0設(shè)9=0)

sum+=l.0/i;

returnsum;

}

二級(jí)C—第21套上機(jī)題

一、程序填空題

下列給定程序中,函數(shù)fun的功能是:將形參s所指字符串中下標(biāo)為奇數(shù)的字符取出,并按

ASCH碼大小遞增排序,將排序后的字符存入形參p所指字符數(shù)組中,形成一個(gè)新串。

例如,形參s所指的字符為:baawrskjghzlicda,執(zhí)行后p所指字符數(shù)組中的字符串應(yīng)為:

aachjlswo

請(qǐng)?jiān)谙庐嬀€處填入正確的容并將下畫線刪除,使程序得出正確的結(jié)果。

注意:部分源程序在文件BLANKLC中。

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

二、程序修改題

下列給定程序中函數(shù)fun的功能是:用下面的公式求n的近似值,直到最后一項(xiàng)的絕對(duì)值小

于指定的數(shù)(參數(shù)num)為止。

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

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

注意:部分源程序在文件M0DI1.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

【參考答案】

(1)while(fabs(t)>=num)

(2)t=s/n;

【參考答案】

(l)t=i(2)i(3)''0'或0

三、程序設(shè)計(jì)題

編寫函數(shù)fun,其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪

除指定字符后的字符串存放在b所指的數(shù)組中,n中存指定的下標(biāo)。

例如,輸入一個(gè)字符串world,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為word。

注意:部分源程序在文件PROG1.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干

語句。

【參考答案】

voidfun(chara[],charb[],intn)

(

inti,k=0;

for(i=0;a[i]!='\0';i++)

if(i!=n)

/*將不是指定下標(biāo)的字符存入數(shù)組b中*/

b[k++]=a[i];

b[k]='\O';/*在字符串最后加上結(jié)束標(biāo)識(shí)*/

)

二級(jí)C_第22套上機(jī)題

一、程序填空題

函數(shù)fun的功能是:計(jì)算

直到

<10-6?若x=2.5,函數(shù)值為12.182494。

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

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

⑴x(2)n(3)t

二、程序修改題

下列給定程序中,函數(shù)fun的功能是:計(jì)算n的5次方的值(規(guī)定n的值大于2且小于8),

通過形參指針傳回主函數(shù),并計(jì)算該值的個(gè)位、十位、百位上數(shù)字之和作為函數(shù)值返回。例

如,7的5次方是16807,其后3位數(shù)的和值是15。

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

注意:部分源程序在文件M0DILC中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)!

【參考答案】

(Dd=l;

⑵s=0;

(3)d=d/10;

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出給定數(shù)組(長度為9)中每相鄰兩個(gè)元素的平均值的

平方根之和。

例如,若給定數(shù)組中的9個(gè)元素依次為12.0、34.0、4.0,23.0、34.0、45.0、18.0、3.0、

11.0,則輸出應(yīng)為S=35.951014。

注意:部分源程序在文件PR0G1.C中。

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

語句。

【參考答案】

doublefun(doublex[9])

{

doublesum=0.0;

inti,j=l;

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

if(j<=8)

(

sum+=sqrt((x[i]+x[i+l])/2.0);j++;/*相鄰兩個(gè)元素之平均值的平方根之和*/

}

returnsum;

)

二級(jí)C_第23套上機(jī)題

一、程序填空題

函數(shù)fun的功能是進(jìn)行字母轉(zhuǎn)換。若形參ch中是小寫英文字母,則轉(zhuǎn)換成對(duì)應(yīng)的大寫英文

字母;若ch中是大寫英文字母,則轉(zhuǎn)換成對(duì)應(yīng)的小寫英文字母;若是其他字符則保持不變;

并轉(zhuǎn)換后的結(jié)果作為函數(shù)值返回。

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

注意:部分源程序在文件BLANKLC中。

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

【參考答案】

⑴&&(2)'A'(3)ch

二、程序修改題

下列給定程序中,函數(shù)fun的功能是:給一維數(shù)組a輸入任意4個(gè)整數(shù),并按如下的規(guī)律輸

出。例如,輸入1、2、3,4,程序運(yùn)行后輸出以下方陣:

4123

3412

2341

1234

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

注意:部分源程序在文件M0DILC中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)!

【參考答案】

(1)voidfun(int*a)

三、程序設(shè)計(jì)題

請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:計(jì)算并輸出給定整數(shù)n的所有因子(不包括1與自身)之

和。規(guī)定n的值不大于1000。

例如,若主函數(shù)從鍵盤給n輸入的值為856,則輸出為sum=763。

注意:部分源程序在文件PROG1.C中。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語

句。

【參考答案】

intfun(intn)

(

ints=0,i;

for(i=2;i<=n-l;i++)/*將n減1累加*/

if(n%i=0)

s+=i;

returns;

)

二級(jí)C—第24套上機(jī)題

一、程序填空題

函數(shù)fun的功能是:從三個(gè)形參a、b、c中找出中間的數(shù),并作為函數(shù)值返回。

例如,當(dāng)a=3,b=5,c=4時(shí),中間的數(shù)為4。

注意:部分源程序在文件BLANKLC中。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何容,僅在函數(shù)fun的下畫線上填入所編寫的若干表

達(dá)式或語句。

【參考答案】

(1)a(2)a(3)b

二、程序修改題

下列給定程序中,函數(shù)fun的功能是:將大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母之后的第5個(gè)字母;

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

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

請(qǐng)改正函數(shù)fun中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件M0DI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程

序的結(jié)構(gòu)!

【參考答案】

(l)c=c+32;

(2)c=c+5;

三、程序設(shè)計(jì)題

請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:計(jì)算并輸出

S=l+(1+20.5)+(1+20.5+30.5)H----F(1+20.5+30.5H----FnO.5)

的值。

例如,若主函數(shù)從鍵盤給n輸入20后,則輸出為S=534.188884。

注意:部分源程序在文件PR0G1.C中。

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

語句。

【參考答案】

doublefun(intn)

inti;

doubles=0.0,sl=0.0;

for(i=l;i<=n;i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論