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

下載本文檔

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

文檔簡(jiǎn)介

第一套

1.程序填空

程序通過定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲(chǔ)了若干個(gè)學(xué)生的學(xué)號(hào)、姓名和三門

課的成績(jī).函數(shù)fun的功能是將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,根據(jù)姓名的

字典序(從小到大排序).請(qǐng)?jiān)诔绦虻南聞澗€處填入對(duì)的內(nèi)容并把下劃

線刪除,使程序得到對(duì)的成果.

第—■處structstudentt;

第二處for(i=0;i

第二處if(strcmp(a[i].name,afj].name>O

2程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:在p所指字符串中找出ASCII碼

值最大的字符,將其放在第一個(gè)位置上;并將該字符前的原字符向上次

序移動(dòng).

**found**

q=p+i;

**found**

while(q>p

3程序設(shè)計(jì)

學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)

體數(shù)組s中,請(qǐng)編寫了函數(shù)fun,它的功能是:把指定分?jǐn)?shù)范疇內(nèi)的學(xué)生

數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范疇內(nèi)的學(xué)生人數(shù)由函數(shù)值返回.

intfun(STREC*a,STREC*b,intl,inth

{inti,j=O;

for(i=0;i

if((a[i].s>=1&&a[i].s<=h

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

returnj;

}

第二套

1.程序填空

給定程序中已創(chuàng)立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各結(jié)點(diǎn)按數(shù)

據(jù)域遞增有序毗鄰.函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值一樣的結(jié)

點(diǎn),使之只保留一個(gè).

第一處free(q;

第二處q=p->next;

第二處q=q->next;

2.程序修改

給定程序MODILC中函數(shù)fun的功能是:用挑選法對(duì)數(shù)組中的n各元素

按從小到大的次序進(jìn)行排序.

**found**

P=j;

**found**

P=i;

3.程序設(shè)計(jì)

請(qǐng)編寫一個(gè)fun函數(shù),它的功能是:求出1到m之間(含m)能被7或11

整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù).

voidfun(intm,int*a,int*n

(

inti;

*n=0;

for(i=7;i<=m;i++

if((i%7==0||(i%ll==0

a[(*n++]=i;

第三套

1.程序填空

函數(shù)fun的功能是:逆置數(shù)組元素是的值.例如:若a所指數(shù)組中的數(shù)據(jù)

依次為:1、2、3、4、5、6、7、8、9,則逆置后依次為:9、8、7、6、

5、4、3、2、1.形參n給出數(shù)組中數(shù)組中數(shù)據(jù)的個(gè)數(shù).

第一處for(i=0;i

第二處a[i]=a[n-l-i];

第三處a[n-i-l]=t;

2程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:將一個(gè)由八進(jìn)制數(shù)字字符串

組成的字符串轉(zhuǎn)換為與其面值相等的十進(jìn)制整數(shù).規(guī)定輸入的字符串最

多只能包含5位八進(jìn)制數(shù)字字符.

**found**

n=*p-'O';

**found**

n=n*8+*p-'O';

3.程序設(shè)計(jì)

學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)

體數(shù)組s中,請(qǐng)編寫了函數(shù)fun,它的功能是:函數(shù)返回指定學(xué)號(hào)的學(xué)生

數(shù)據(jù),指定的學(xué)生號(hào)在主函數(shù)中輸入,若沒有找到指定學(xué)號(hào),在結(jié)構(gòu)體變

量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回.(用于字符串對(duì)照的

函數(shù)是strcmp).

STRECfun(STREC*a,char*b

(

STRECc;

Inti;

c.num[O]=,\O,;

c.s=-l;

for(i=0;i

if(strcmp(a[i].num,b==O

{strcpy(c.num,a[i].num;

c.s=a[i].s;break;}

returnc;

第四套

1.程序填空

給定程序中,函數(shù)fun的功能是:在帶有頭結(jié)點(diǎn)的單向鏈表中,查找數(shù)據(jù)

域中值為ch的結(jié)點(diǎn).找到后通過函數(shù)值返回該結(jié)點(diǎn)在鏈表中所處的次

序號(hào):若不存在值為ch的結(jié)點(diǎn),函數(shù)值返回0.

第一處while(p!=0

第二處if(p->data==chreturnn;

第三處k=fun(head,ch;

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串的所有空

白字符(包羅制表符、回車符及換行符).輸入字符串時(shí)用#結(jié)束輸

入.

**found**

for(i=0,t=0;p[i];i++

**found**

c[t]=,\O,;

3.程序設(shè)計(jì)

請(qǐng)編寫一個(gè)函數(shù)fun,將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母

轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換).

voidfun(char*ss

inti;

for(i=l;i

{if(ss[i]>=,a,&&ss[i]<=,z,

ss[i]-=32;

)

)

第五套

1.程序填空

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

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

第一處s=0;

第二處for(i=l;i<=n;i++

第三處s=s+(2.0*i-l*(2.0*i+l(t*t;

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計(jì)substr所指字符串在str

所指字符串中出現(xiàn)伯次數(shù).

**found**

for(i=0;str[i];i++

**found**

if(substr[k+1]=='\0'

3.程序設(shè)計(jì)

請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求JI的值(要求滿足

精度0.0005,即某項(xiàng)小于0.0005時(shí)中斷送代):程序運(yùn)行后,參加輸入精

度為0.0005,則程序輸出為3.14....

doublefun(doubleeps

{doubles=l,t=1.3;

intn=l;

while(t>=eps

{s+=t;n++;t=t*n(2.0*n+l

;)

return(s*2.0;

第六套

1.程序填空

給定程序中,函數(shù)fun的功能是:將形參s所指定字符串中所有的字母

字符次序前移,其他字母次序后移,處理后字符串的首地址作為函數(shù)值

返回.

第一處t[j]=s[i];j++;

第二處for(i=0;i

t[j+i]=p[i];

第三處t[j+k]=O;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:將s所指字符串中末了一次

出現(xiàn)的與tl所指字符串一樣的子串替換成t2所指定字符串,所形成的

新串放在w所指的數(shù)組中.在此處,要求tl和t2所指字符串的長(zhǎng)度一樣.

**found**

while(*w

**found**

if(*r==*p

3.程序設(shè)計(jì)

函數(shù)fun的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串

中剩余字符形成一個(gè)新串放在t所指定的數(shù)組中.

voidfun(char*s,chart[]

{inti,j=0;

for(i=0;i

if(s[i]%2==0t[j++]=s[i];

t[j]=O;

)

第七套

1.程序填空

程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和三門課的成

績(jī).函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進(jìn)行修改,并

把a(bǔ)中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù).

第一處structstudent*

fun(structstudent*a

第二處for(i=0;i<3;i++

a->score[i]+=l;

第三處returna;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:從N個(gè)字符串中找出

最長(zhǎng)的那個(gè)串,并將其地址作為函數(shù)值返回.各字符串在主函數(shù)中輸入,

并放在一個(gè)字符串?dāng)?shù)組中.

**found**

char*fun(char(*sq[M]

**found**

returnsp;

3.程序設(shè)計(jì)

函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個(gè)新的整數(shù)放

在c中.合并的方式是:將a中的十位和個(gè)位依次放在變量c的百位和

個(gè)位上,b中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上.

#include

voidfun(inta,intb,long*c

{*c=(b%10*1000+(al0*100+(bl0*10+a%10;

第八套

1.程序填空

函數(shù)fun的功能是:將形參觀者工所指數(shù)組中的前半部分元素中的值和

后半部分元素中的值對(duì)換.形參n中存放數(shù)組中數(shù)據(jù)的個(gè)數(shù),若n為奇

書,則中間元素不動(dòng).

第一處p=(n%2==0?n2:n2+l;

第二處a[i]=a[p+i];

第三處a[p+i]=t;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:把主函數(shù)中輸入的三個(gè)數(shù),最

大的放在a中,最小的放在c中,中間的放在b中.

**found**

floatk;

**found**

if(*a<*c

3.程序設(shè)計(jì)

學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,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é)生大概不止一個(gè),函數(shù)返

回分?jǐn)?shù)最高的學(xué)生的人數(shù).

intfun(STREC*a,STREC*b

inti,max=a[O].s,n=O;

for(i=l;i

if(max

for(i=0;i

if(max==a[i].sb[n++]=a[i];

returnn;

)

第九套

1.程序填空

給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均

值,(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中小于平均值的數(shù)據(jù)移至數(shù)

據(jù)的前部,大于等于平均數(shù)的移至x所指數(shù)組的后部,平均值作為函數(shù)

值返回,在主函數(shù)中輸出平均值和移動(dòng)后的數(shù)據(jù).

第一處for(i=0;i

av+=x[i]N

第二處y[j]=x[i];

x[i]=-l;j++;}

第三處i++;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:統(tǒng)計(jì)字符串各元音字母(即:

A、E、I、0、U)的個(gè)數(shù).注重字母不分大小寫.

**found**

num[k]=0;

**found**

switch(*s

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:求出二級(jí)數(shù)組周邊元素之和,作為函數(shù)

值返回.二維數(shù)組中的值在主函數(shù)中賦予.

intfun(inta[M][N]

(

inttot=0,i,j;

for(i=0;i

tot+=a[0][i];

tot+=a[M-l][i];

)

for(i=l;i

tot+=a[i][0];

tot+=a[i][N-l];

)

returntot;

)

第十套

1.程序填空

程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和三門課的成

績(jī).函數(shù)fun的功能是將形參a中的數(shù)據(jù)進(jìn)行修改,把修改后的數(shù)據(jù)作

為函數(shù)值返回主函數(shù)進(jìn)行輸出.

第一處structstudent

fun(structstudenta

第二處strcpy(,^^LiSi^^;

第三處a.score[i]+=l;

2程序修改

假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中.給定程序M0DI1.C中函

數(shù)fun的功能是:刪除數(shù)列中值為x的元素.N中存放的是數(shù)列中元素

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

**found**

if(p==nreturn-r

**found**

a[i]=a[i+l];

3.程序設(shè)計(jì)

學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,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é)生大概不止一個(gè),函數(shù)返

回分?jǐn)?shù)最低的學(xué)生的人數(shù).

intfun(STREC*a,STREC*b

(

inti,j=0,min=a[0].s;

for(i=0;i

{if(min>a[i].s{

j=0;

b[j++]=a[i];min=a[i].s;

elseif(min==a[i].s

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

)

returnj;

)

第十一套

1.程序填空

給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均

值,(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)

據(jù)的前部,小于等于平均數(shù)的移至x所指數(shù)組的后部,平均值作為函數(shù)

值返回,在主函數(shù)中輸出平均值和移動(dòng)后的數(shù)據(jù).

第一處av=sN;

第二處y[j++]=x[i];x[i]=-l;}

第三處if(x[i]!=-l

y[j++]=x[i];

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:讀入一行英文文本行,將其中

每個(gè)單詞的第一個(gè)字母改成大寫,然后輸出次文本行(這里的“單詞”是

指由空格隔開的字符串).

**found**

#include

**found**

upfst(char*p

3.程序設(shè)計(jì)

程序定義了NXN的二級(jí)數(shù)組,并在主函數(shù)中賦值,請(qǐng)編寫函數(shù)fun,函數(shù)

的功能是:求出數(shù)組周邊元素的平均值并作出函數(shù)值飯給主函數(shù)中的s.

doublefun(intw[][N]

{inti,j,n=O;

doublesum=0;

for(i=0;i

{sum+=w[0][i]+w[N-1][i];

n+=2;}

for(i=l;i

{sum+=w[i][0]+w[i][N-1];

n+=2;

returnsumn;

)

第十二套

1.程序填空

給定程序中,函數(shù)fun的功能是:將自然數(shù)1—10以及它們的平方根寫

到名為myfile3.txt的文本文件中,然后再次序讀出表此刻屏幕上.

第一處fprintf(fp,,,%d%f\n,,,i,sqrt((doublei;

第二處fclose(fp;

第三處if((fp=fopen(fhame,,,r,,==NULL

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:將n個(gè)無序整數(shù)從小到大排

序.

**found**

for(i=j+l;i

**found**

P=i;

3.程序設(shè)計(jì)

函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個(gè)新的整數(shù)放

在c中.合并的方式是:將a中的十位和個(gè)位依次放在變量c的個(gè)位和

百位上,b中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上.

#include

voidfun(inta,intb,long*c

(

*c=(b%10*1000+(a%10*100+(bl0*10+(al0;}

第十三套

1.程序填空

給定程序中,函數(shù)fun的功能是:找出N*N矩陣中每列元素中的最大值,

并按次序一次存放于形參b所指的一維數(shù)組中.

第一處b[i]=a[0][i];

第二處

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

第三處fun(x,y;

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:交流主函數(shù)中的兩個(gè)變量的

值.

**found**

intfun(int*x,int*y

**found**

t=*x;*x=*y;*y=t;

3.程序設(shè)計(jì)

編寫函數(shù)fun,函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa

數(shù)組中,函數(shù)返回所求出的素?cái)?shù)的個(gè)數(shù).函數(shù)fun中給出的語句僅供參考.

#include

#defineMAX100

intfun(intlim,intaa[MAX]

{inti,j,k=O;

for(i=2;i<=lim;i++

for(j=2;j<=(i2;j++

if(i%j==Obreak;

if(j>(i2aa[k++]=i;

}returnk;}

第十四套

1.程序填空

函數(shù)fun的功能是進(jìn)行字母轉(zhuǎn)換.若形參ch中小寫英文字母,則轉(zhuǎn)換成

相應(yīng)的大寫英文字母;若形參ch中是大寫英文字母,則轉(zhuǎn)換成相應(yīng)的

小寫英文字母;并將轉(zhuǎn)換的成果作為函數(shù)值返回.

第一處if((ch>=,a,&&(ch<-,z,

第二處return

ch+'a'-'A'

第三處returnch;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:給一維數(shù)組a輸入隨意率性

四個(gè)整數(shù)并按下列的規(guī)律輸出.例如輸出1、2、3、4,程序輸出一下方

陣.

a123

3412

2341

1234

**found**

voidfun(int*a

**found**

a[j]=a[j-l];

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:計(jì)算并輸出給定整數(shù)n的所有因子(不

包過1和n自己)之和.規(guī)定n的值不大于1000.

intfun(intn

(

ints=0,i;

for(i=2;i

if(n%i==0s+=i;

returns;

第十五套

1.程序填空

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

移到下一個(gè)奇書位置,最右邊唄移出字符串的字符繞回放到第一個(gè)奇數(shù)

位置,下標(biāo)為偶數(shù)的字符不動(dòng)(注:字符串的長(zhǎng)度大于等于2).例如,形

參s所指的字符串為:abcdefgh,執(zhí)行成果為:ahcbedg.

第一處if(n%2==0k=n-l;

第二處c=s[k];

第三處s[l]=c;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:求s=aa...aa一...一aaa-aa一a

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

**found**

longs=O,t=O;

**found**

t=tlO;

3.程序設(shè)計(jì)

請(qǐng)編寫一個(gè)函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計(jì)在tt所指字符串中'a,

至226個(gè)小寫字母各自出此刻的次數(shù),并依次放在pp數(shù)組中.

voidfun(char*tt,intpp[]

char*p=tt;

inti;

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

Pp[i]=O;

while(*p

{if(*p>=,a,&&*p<=,z,

pp[*p-'a']+=l;

P++;

)

)

第十六套

1.程序填空

人員的記錄由編號(hào)和出生年、月、日組成,N名流員的數(shù)據(jù)已在主函數(shù)

中存入結(jié)構(gòu)體數(shù)組std中,且編號(hào)獨(dú)一.函數(shù)fun的功能是:找出指定編

號(hào)人員數(shù)據(jù),作為函數(shù)值返回,由主函數(shù)輸出,若指定編號(hào)不存在,返回

數(shù)據(jù)中編號(hào)為空串.

第1處STUfun(STU*std,char*num

第2處if(strcmp(std[i].num,num

==0

第3處return(std[i];

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:從s所指字符串中,找出與t

所指字符串一樣的子串的個(gè)數(shù)作為函數(shù)值返回.

**found**

r++;p++;

**found**

if(*r==0)

3.程序設(shè)計(jì)

函數(shù)fun的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串

中剩余字符形成一個(gè)新串放在t所指數(shù)組中.

#include

#include

voidfun(char*s,chart[]

inti,j=0;

for(i=0;i

if(s[i]%2t[j++]=s[i];

t[j]=O;

)

第十七套

1.程序填空

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

現(xiàn)的次數(shù),并存放在形參t所指的變量中,末了在主函數(shù)中輸出.例如,形

參s所指的字符串為:abcdef35adgh3kjsdf7.輸出成果為:4.

第1處for(i=0;s[i]!=NULL;i++

第2處if(s[i]>=,0,&&s[i]<=,9,

n++;

第3處*t=n;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:通過某種方式實(shí)現(xiàn)兩個(gè)變量

的交流,規(guī)定不許可增添語句和表達(dá)式.例如變量a中的值原為8,b中

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

**found**

t=*x;*x=y;

**found**

return(t;

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:求出1到1000之間能被7或11整除,

但不能同時(shí)被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通

過n返回這些數(shù)的個(gè)數(shù).

#include

viodfun(int*a,int*n

{inti;

*n=0;

for(i=7;i<1000;i++

if(((i%7=-0||(i%ll==0

&&(i%77!=0a[(*n++]=i;

第十八套

1.程序填空

給定程序中,函數(shù)fun的功能是:有NxN矩陣,根據(jù)給定的m(m<=n)

值,將每行元素中的值均右移m個(gè)位置,左邊值為0.

第1處for(i=0;i

第2處t[i][j+m]=t[i][j];

第3處for(j=0;j

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算并輸出high以內(nèi)最大的

10個(gè)素?cái)?shù)之和.high的值由主函數(shù)傳給fun函數(shù).

**found**

while((2<=high&&(n<10

**found**

yes=0;break;

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:操縱一下所示的簡(jiǎn)單迭代方式求方程

求方程:cos(x)-x=0的一個(gè)實(shí)根.xn+l=cos(xn)迭代步驟如下:(1)

取xl的初值為0.0;(2)x0=xl,把xl的值賦給x0;(3)xl=cos

(x0),求出一個(gè)新的xl;(4)若xO-xl的絕對(duì)值小于0.000001執(zhí)行

步驟(5)否則執(zhí)行步驟(2);(5)所求xl就是方程cos(x)-x=0

的一個(gè)實(shí)根作為函數(shù)值返回.程序?qū)⑤敵龀晒麨?Root=0.739058.

floatfun(

floatxO,x1=0.0;

do{

x0=xl;

xl=cos(x0;

}while(fabs(xO-x1>0,000001;

returnxl;

)

第十九套

1.程序填空

給定程序中,函數(shù)fun的功能是:將a所指的3x5矩陣中第k列的元素

左移到第0歹!J,第k列以后的每列元素行依次左移,原來左邊的各列依

次繞到右邊.

第1處for(p=1;p<=k;p++

第2處for(j=0;j

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

第3處a[i][N-l]=temp;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:根據(jù)形參m的值

(2<=m<=9),在m行m列的二維數(shù)組中存放如下所示規(guī)律的數(shù)據(jù),由

main函數(shù)輸出.例如,若輸入2則輸出:

12

24

**fbund**

fun(inta[][M],intm

**found**

a[j][k]=(k+l*(j+l;

3.程序設(shè)計(jì)

函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個(gè)新的整數(shù)放

在c中.合并的方式是:將a中的十位和個(gè)位依次放在變量c的十位和

千位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上.

voidfun(inta,intb,int*c

*c=(a%10*1000+(b%10*100

+(al0*10+(bl0;

第二十套

1.程序填空

給定程序中,函數(shù)fun的功能是:對(duì)形參s所指字符串中下標(biāo)為奇數(shù)的

字符ASCII碼大小遞增排序,并將排序后的下標(biāo)為奇數(shù)的字符取出,形

成一個(gè)新串.

第1處t=i;

第2處for(j=i+2;j

第3處p[j]=O;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:用下面的公式求71的近似值,

知道末了一項(xiàng)的近似值小于指定數(shù)(參數(shù)num)為止:例如程序0.0001,

則程序輸出3.1414.

**found**

while((fabs(t>=num

**found**

t=sn

3.程序設(shè)計(jì)

請(qǐng)編寫一個(gè)函數(shù)voidfun(chara[],charb[],intn),其功能是:刪除一

個(gè)字符串指定下標(biāo)的字符.其中,a指向原字符串,刪除指定字符后的字

符串放在b所指的n中存入指定的下標(biāo).

viodfun(chara[],char

b[],intn)

(

stmcpy(b,a,n;

b[n]=0;

strcat(b,a+n+l;

)

第二十一套

1.程序填空

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

長(zhǎng)超過k的字符串右邊的字符去掉,只保留左邊的k個(gè)字符.ss所指字

符串?dāng)?shù)組中共有N個(gè)字符串,且串小于M.

第一處voidfun(char(*ss[M],intk

第二處while(i

第三處ss[i][k]=O;i++;}

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:根據(jù)以下公式求兀值,并作為

函數(shù)值返回.例如,給指定精度的變量eps輸入0.0005時(shí),應(yīng)當(dāng)輸出

Pi=30140578..

**found**

t=l;

**found**

return(2*s;

3.程序設(shè)計(jì)

假定輸入字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:將

字符串的前導(dǎo)*號(hào)不得多于n個(gè);若多于n個(gè),則刪除多余的*號(hào);若少

于或等于n個(gè),則什么也不做,字符串中間和尾部的*號(hào)不刪除.函數(shù)fun

中給出的語句僅供參考.

voidfun(char*a,intn

(

inti=0,k=0;

while(a[k]=='*'k++;

if(k>n

i=n;j=k;

for(;a[j]!=0;j++

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

a[i]=O;

})

第二十二套

1.程序填空

給定程序中,函數(shù)fun的功能是:a所指4x3矩陣中第k行的元素與第0

行元素交流.例如:有下列矩陣

123

456

789

101112

若k為2,程序執(zhí)行成果為

789

456

123

101112

第一處voidfun(int(*a[N],intk

第二處for(i=0;i

第三處a[0][i]=a[k][i];

2.程序修改

給定程序MODIl.C中函數(shù)fun的功能是:讀入一個(gè)字符串(長(zhǎng)度<20),

將該字符串中的所有字符串按ASCII碼升序排序后輸出.例如,若輸入

edcba,則應(yīng)輸出:abcde.

**found**

for(i=strlen(t-1;i;i—

**found**

if(t[j]>t[j+l]

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位

置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換).

voidfun(char*ss

char*p=ss;

inri=0;

while(*p{

if((i%2&&(*p>=,a,&&*p<=,z,

*p-=32;

P++;

i++;

)

)

第二十三套

1.程序填空

給定程序的功能是:調(diào)用函數(shù)fun將指定源文件中的內(nèi)容復(fù)制到指定的

目的文件中,復(fù)制成功時(shí)函數(shù)的返回值是1,失敗是返回值是0.在復(fù)制

的過程中,把復(fù)制的內(nèi)容輸出到終端屏幕.主函數(shù)源文件名放在變量

sfname中,目的文件放在變量tfname中.

第一處

if((fs=fopen(source,,,r,-=NULL

第二處while(!feof(fs

第三處fputc(ch,ft;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:將長(zhǎng)整型中每一位上為偶數(shù)

的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中.高位仍在高位,低位仍在低位.

**found**

if(d%2==0

**found**

s=10;

3.程序設(shè)計(jì)

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

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

中的十位和個(gè)位數(shù)依次放在變量c的百位和個(gè)位上.

voidfun(inta,intb,long*c

(

*c=(a%10*1000+(bl0*100+(al0*10+(b%10;

第二十四套

1.程序填空

程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和三門課的成

績(jī).函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的

結(jié)構(gòu)體變量b,并修改b中的學(xué)號(hào)和姓名,末了輸出修改后的數(shù)據(jù).

第一處b=a;

第二處strcpy(,"LiSi"

第三處for(i=0;i<3;i++

printf(C4%6.2f,,b.score[i];

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:從s所指字符串中刪除所有

小寫字母c.請(qǐng)改正程序中的錯(cuò)誤,使它能計(jì)算出對(duì)的成果.

**found**

s[j++]=s[i];

**found**

3.程序設(shè)計(jì)

假定輸入的字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:

將字符串的前導(dǎo)*號(hào)所有移到字符串的尾部.函數(shù)fun中給出的函數(shù)僅供

參考.

voidfun(char*a

{char*p,*q;

intn=0;

P=a;

while(*p==,*

{n++;p++;}

q=a;

while(*p{

*q=*p;

p++;q++;

)

for(;n>0;n—

*q++='*';

*q='\0’;

)

第二十五套

1.程序填空

用篩選法可得到2—n(n<10000)之間的所有素?cái)?shù),方式是:起

首從素?cái)?shù)2最先,將所有2的倍數(shù)的數(shù)從數(shù)表中去掉(把數(shù)表中相應(yīng)

位置的值置成0);接著從數(shù)表中找下一個(gè)非。數(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ù)值返回.

第一處for(j=a[i]*2;j<=n;j+=a[i]

第二處while(a[i]==0

第三處if(a[i]!=0

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:為一個(gè)偶數(shù)尋找兩個(gè)素?cái)?shù),這

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

**found**

y=i;

**foune**

d=a-i;

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,它的功能是:計(jì)算并輸出n(包羅n)以內(nèi)能被5或9

整除的所有自然數(shù)的倒數(shù)之和.

doublefun(intn

inti;

doublesum=0.0;

for(i=l;i

if(i%5==0||i%9==0

sum+=1.0i;

returnsum;

)

第二十六套

1.程序填空

給定程序中,函數(shù)fun的功能是創(chuàng)立一個(gè)NxN的矩陣.矩陣元素的構(gòu)成

規(guī)律是:最外層元素的值所有是1;從外向內(nèi)第二層元素的值所有為

2;第三層元素的值所有是3,…依此類推.

第一處voidfun(int(*a[N]

第二處for(j=i;j

第二處a[k][i]=a[k][N-i-l]=i+l;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:將十進(jìn)制正整數(shù)m轉(zhuǎn)換成k

(2<=k

<=9)進(jìn)制數(shù),并按高位到低位次序輸出.

**found**

aa[i]=m%k;

**found**

printf("%d”,aa[i-1];

3.程序設(shè)計(jì)

編寫一個(gè)函數(shù),從num個(gè)字符串中找出最長(zhǎng)的一個(gè)字符串,并通過形參

指針max傳回該串地址.(注重:主函數(shù)中用****作為結(jié)束輸入的標(biāo)記,

函數(shù)fun中給出的語句僅供參考).

fun(char(*a[81],intnum,char**max

(

inti,k=O,maxlen;

maxlen=strlen(a[k];

for(i=l;i

if(strlen(a[i]>maxlen

{maxlen=strlen(a[i];

k=i;

)

)

*max=a[k];

)

第二十七套

1.程序填空

函數(shù)fun的功能是計(jì)算f(x)=l+x-22!+33!-44!+.......的前n項(xiàng)和.

若x=2.5,n=15時(shí),函數(shù)值為1.917914.

第一處f=l;

第二處t*=(-l*xi;

第三處f+=t;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:從三個(gè)紅球,5個(gè)白球,6個(gè)黑

球中隨意率性取出8個(gè)作為一組,進(jìn)行輸出.在沒組中,可以沒有黑球,

但必須要有紅球和白球.組合數(shù)作為函數(shù)值返回.對(duì)的組合數(shù)應(yīng)該是15.

程序中i的值代表紅球數(shù),j代表白球數(shù),k代表黑球數(shù).

**found**

for(i=l;i<=3;i++

**found**

if(k>=0&&k<=6

3.程序設(shè)計(jì)

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

+12!+13!+14!+……In!.例如:在主函數(shù)中從鍵盤給n輸入15,則輸出為:

s=2.718282.注重:要求n的值大于1但不大于100.

doublefun(intn

(

doubles=r

longt=l;

inti;

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

t=t*i;

s+=1.0t;}

returns;

第二十八套

1.程序填空

給定程序中,函數(shù)fun的功能是:計(jì)算N*N矩陣的主對(duì)角線元素和方向

對(duì)角線元素之和,并作為函數(shù)值返回.注重:要求先累加主對(duì)角線元素中

的值,然后累加反響對(duì)角線元素的值.

第一處sum=O;

第二處sum+=t[i][i];

第三處sum+=t[i][n-i-1];

2.程序修改

給定程序M0DI1.C中函數(shù)fun和funx的功能是:用二分法求方程2x3-

4x2+3x-6=0的一個(gè)根,并要求絕對(duì)誤差不超過0.001.

**found**

doubler;

**found**

while(fabs(n-m>0.001

3.程序設(shè)計(jì)

假定輸入的字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:

除了字符串前導(dǎo)和尾部的*號(hào)之外,將串中其他*號(hào)所有刪除.形參h已

指向字符串中的第一個(gè)字母,形參p已指向字符串中末了一個(gè)字母.在

編寫函數(shù)時(shí),不得使用c語言提供的字符串函數(shù).

voidfun(char*a,char*h,char*p

(

intj=0;

char*q=a;

while(*q&&q

while(*h&&*p&&h

(

if(*h!=,*,a[j++]=*h;

h++;

)

while(*pa[j++]=*p++;

a[j]=O;

第二十九套

1.程序填空

給定程序中,函數(shù)fun的功能是:有N*N矩陣,將矩陣的外圍元素順時(shí)

針旋轉(zhuǎn).操縱的次序是:起首將第一行元素的值存入臨時(shí)數(shù)組r,然后使

第一列成為第一行,末了一行成為第一列,末了一列成為第一行,臨時(shí)數(shù)

組中和元素成為末了一列.

第一處皿0];

第二處for(j=N-l;j>=0;j-

第三處t[j][N-l]=r[j];

2.程序修改

給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算s=f(-n)+f(-n+1)

+……+f(0)+f(1)+f(2)+……f(n)的值.例如,當(dāng)n為5時(shí),函數(shù)

值應(yīng)該是:10,407143.

**found**

doublef(doublex

**found**

returns;

3.程序設(shè)計(jì)

編寫一個(gè)函數(shù)fun,它的功能是計(jì)算:s=根號(hào)下(In(1)+ln(2)+ln

(3)+……In(m))S作為函數(shù)返回,在C語言中可以調(diào)用log(n)

求In(n).log函數(shù)引用說明是:Doublelog(doublex)例如,若m的

值為:20,fun函數(shù)值為:60506583.

doublefun(intm

(

doubles=0.0;

inti;

for(i=0;i<=m;i++

s+=log(1.0*i;

s=sqrt(s;

returns;

)

第三十套

1.程序填空

函數(shù)fun的功能是:反形參a所指數(shù)組中的奇數(shù)按原次序依次存放到

a[0]>a[l]>a

[2]……中,把偶數(shù)從數(shù)組中刪除,奇數(shù)個(gè)數(shù)通過函數(shù)值返回.例如:若a

所指數(shù)組中的數(shù)據(jù)最初布列為:9、1、4、2、3、6、5、8、7,刪除偶數(shù)

后a所指數(shù)組中的數(shù)據(jù)為:9、1、3、5、7,返回值為5.

第一處if(a[i]%2==l

第二處j++;

第三處returnj;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:求出兩個(gè)非零正整數(shù)的最大

公約數(shù),并作為函數(shù)值返回.

**found**

t=a;a=b;b=t;

**found**

return(b;

3.程序設(shè)計(jì)

假定輸入的字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:

刪除字符串中所有的*號(hào).在編寫函數(shù)時(shí),不得使用C語言提供的字符串

函數(shù).

voidfun(char*a

(

intj=0;

char*p=a;

while(*p{

if(*p!=,*,

a[j++]=*p;

P++;

)

a[j]=O;

)

第三十一套

1.程序填空

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

串長(zhǎng)超過k的字符串,函數(shù)返回所剩字符串的個(gè)數(shù).Ss所指字符串?dāng)?shù)組

中共有N個(gè)字符串,且串長(zhǎng)小于M.

第一處for(i=0;i

第二處if(len<=k

第三處strcpy(ss[j++],ss[i];

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:逐個(gè)對(duì)照p、q所指兩個(gè)字符

串對(duì)應(yīng)位置中的字符,把ASCII值或相等的字符依次存放在c所指數(shù)組

中,形成一個(gè)新的字符串.

**found**

intk=0;

**found**

while(*p||*q

3.程序設(shè)計(jì)

假定輸入的字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:

除了字符串前導(dǎo)*號(hào)之外,將串中其它*號(hào)所有刪除.在編寫函數(shù)時(shí),不得

使用C語言提供的字符串函數(shù).函數(shù)fun中給出的語句僅供參考.

voidfun(char*a

(

inti=0,k;

while(a[i]!==,*5i++;

k=i;

while(a[i]!=,\0,

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

i++;

)

a[k]=,\O,;

)

第三十二套

1.程序填空

給定程序中已創(chuàng)立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中的各結(jié)點(diǎn)按結(jié)點(diǎn)

數(shù)據(jù)域中的數(shù)據(jù)遞增有序鏈接.函數(shù)fun的功能是:把形參x的值放入

一個(gè)新結(jié)點(diǎn)并插入到鏈表中,插入后各結(jié)點(diǎn)數(shù)據(jù)域的值仍連結(jié)遞增有序.

第一處s->data=x;

第二處q=p;

第三處q->next=s;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:計(jì)算正整數(shù)num的列位上的

數(shù)字之積.

**found**

longk=l;

**found**

num=10

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,它的功能是:計(jì)算n門課程的平均分,計(jì)算成果作為函

數(shù)返回.

floatfun(float*a,intn

(

inti;

floatave=0.0;

for(i=0;i

ave=ave+a[i];

ave=aven;

returnave;

第三十三套

1.程序填空

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

形參substr所指子串的所有字符串并輸出,若沒找到輸出相應(yīng)信息.Ss

所指字符串?dāng)?shù)組中共有N個(gè)字符,且串長(zhǎng)小于M.程序中庫函數(shù)strstr

(si、s2)的功能是早si串中查找s2子串,若沒有,函數(shù)值為0,若有,

為非0.

第一處for(i=0;i

第二處if(strstr(ss[i],substr!=NULL

第三處if(find==0

2.程序修改

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

**found**

fun(intx,inty,intz

**found**

returnj;

3.程序設(shè)計(jì)

假定輸入的字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:

只刪除字符串前導(dǎo)和尾部的*號(hào),串中字母之間的*號(hào)都不刪除.形參n

給出了字符串的長(zhǎng)度,形參h給出了字符串中前導(dǎo)*號(hào)的個(gè)數(shù).在編寫函

數(shù)時(shí),不得使用C語言提供的字符串函數(shù).

voidfun(char*a,intn,inth,inte

char*p=a;

intj=0,len=0;

while(*p{p++;len++;}

while(j

a[j]=a[h+j];

j++;

)

a[j]=O;

)

第三十四套

1.程序填空

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

參t所指字符串一樣的串,找到后返回該串在字符串中的位置(下標(biāo)

值),未找到則返回-1.ss所指字符串?dāng)?shù)組中共有N個(gè)內(nèi)容差別的字符

串,且串長(zhǎng)小于M.

第一處for(i=0;i

第二處

if(strcmpss[i],t==O

returni;

第三處if(n==-l

printf("\nDon'tfbund!\n”;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:從整數(shù)1到55之間,選出能

被3整除、且有一位上的數(shù)是5的那些事,并且把這些數(shù)放在b所指的

數(shù)組中,這些數(shù)作為函數(shù)值返回.規(guī)定,函數(shù)中al放個(gè)位數(shù),a2放十位數(shù)

**found**

a2=kl0;

**found**

returni;

3.程序設(shè)計(jì)

假定輸入的字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:

將字符串尾部的*號(hào)所有刪除,前面和中間的*號(hào)不刪除.

voidfun(char*a

char*p=a;

while(*pp++;p—;

while(*p==,*,p-;

P++;

*p=0;

)

第三十五套

1.程序填空

給定程序中,函數(shù)fun的功能是:統(tǒng)計(jì)出帶有頭結(jié)點(diǎn)的單向鏈表中結(jié)點(diǎn)

的個(gè)數(shù),存放在形參n所指的存儲(chǔ)單元中.

第一處*n=0;

第二處p=p->next;

第三處fun(head,&num;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:求出s所指字符串末了一次

出現(xiàn)的t所指字符串的地址,通過函數(shù)值返回,在主函數(shù)中輸出從此地址

最先的字符串;若未找到,則函數(shù)值NULL.

**found**

a=NULL;

**found**

if(*r==*p

3.程序設(shè)計(jì)

函數(shù)fun的功能是:將s所指字符串中除了下標(biāo)為偶數(shù),同時(shí)ASCII指

也為偶數(shù)的字符外,其余的所有都刪除:串中剩余字符所形成的一個(gè)新

串放在t所指的數(shù)組中.

voidfun(char*s,chart[]

(

inti,j=0;

for(i=0;i

if(s[i]%2==0t[j++]=s[i];

t[j]=O;

)

第三十六套

1.程序填空

函數(shù)fun的功能是:進(jìn)行數(shù)字字符轉(zhuǎn)換.若形參ch中是數(shù)字字符

9,則轉(zhuǎn)換成9,T轉(zhuǎn)換成8,2轉(zhuǎn)換成7,……9轉(zhuǎn)換成U;若是

其他字符則連結(jié)不變,并將轉(zhuǎn)換后的成果做函數(shù)值返回.

第一處charfun(charch

第二處if(ch>=,0,&&ch<=,9,

第三處return'9'-(ch-'0';

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:將p所指字符串中所有字符

復(fù)制到b中,要求復(fù)制第三個(gè)字符之后插入一個(gè)空格.

**found**

b[k]=*p;

**found**

b[k++]=。;

3.程序設(shè)計(jì)

N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭結(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向

鏈表的頭結(jié)點(diǎn).請(qǐng)編寫函數(shù)fun,它的功能是:求出平均分,有函數(shù)值返

回.

doublefun(STREC*h

STREC*p=h->next;

doubleav=0.0;

intn=o;

while(p!=NULL

(

av=av+p->s;

p=p->next;

n++;

)

av=n;

returnav;

)

第三十七套

1.程序填空

函數(shù)fun的功能是:把形參a所指數(shù)組中的偶數(shù)按原次序依次存放

a[0]>a[l]>a[2]……中,把奇數(shù)從數(shù)組中刪除,偶數(shù)個(gè)數(shù)通過函數(shù)值返回.

第一處if(a[i]%2==0{

第二處a[j]=a[i];j++;

第三處returnj;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:按以下遞推公式求函數(shù)值.例

如,當(dāng)給n輸出5時(shí),函數(shù)值為18;當(dāng)給n輸入3時(shí),函數(shù)值為14.

**found**

fun(intn

**found**

if(n==l

3.程序設(shè)計(jì)

假定輸入的字符串中只包含字母和*號(hào).請(qǐng)編寫函數(shù)fun,它的功能是:

使字符串中尾部的*號(hào)不得多于n個(gè);若多于n個(gè)則刪除多余的*號(hào);

若少于或等于n個(gè),則什么也不做,字符串中間和前面的*號(hào)不刪除.

voidfun(char*a,intn

(

char*p=a;

intj=0;

while(*pp++;p—;

while(*p==,*,p-;

P++;

while(j

P++;

j++;

)

*p=0;

)

第三十八套

1.程序填空

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

組中的字符串按由長(zhǎng)到短的次序布列,并輸入排序成果.ss所指定字符

串?dāng)?shù)組中共有N個(gè)字符串,且串長(zhǎng)小于M.

第一處k=i

第二

if(strlen(ps[k]

ps[j]k=j;

第三處tp=ps[i];ps[i]=ps[k];ps[k]=tp;

2.程序修改

已知一個(gè)數(shù)列從第。項(xiàng)最先的前三項(xiàng)分別為0、0、1以后的各項(xiàng)都是

它相鄰的前三項(xiàng)之和.給定程序MODI1.C中函數(shù)fun的功能是:計(jì)算并

輸出該數(shù)列前n項(xiàng)的平方根之和.n的值通過形參傳入.

**found**

doublefun(intn

**found**

returnsum;

3.程序設(shè)計(jì)

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

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

doublefun(doublex,intn

{doubles=1.0,y=x;

inti;

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

s+=y(doublejc(i;

y*=x;

returns;

第三十九套

1.程序填空

給定程序中,函數(shù)fun的功能是:計(jì)算x所指數(shù)組中N個(gè)數(shù)的平均值

(規(guī)定所有數(shù)均為正數(shù)),平均值通過形參返回主函數(shù),將小于平均值

且最接近平均值的數(shù)作為函數(shù)值返回,在主函數(shù)中輸出.

第一處*av=sN;

第二處d=*av-x[i];j=i;}

第三處returnx[j];

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:根據(jù)整型形參n計(jì)算如下公

式的值.例如:若n=10,則應(yīng)輸出:0.617977.

**found**

floatfun(intn

**found**

for(i=2;i<=n;i++

3.程序設(shè)計(jì)

程序定義了NXN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫函數(shù)fun,

它的功能是:使數(shù)組右上三角元素中的值乘以m.

intfun(inta[][N],intm

(

inti,j;

for(i=0;i

for(j=i;j

a[i][j]*=m;

)

第四十套

1.程序填空

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

有非數(shù)字字符之后,并連結(jié)數(shù)字字符串和非數(shù)字字符串原有的先后次序.

第一處j++;

第二處s[i]=tl[i];

第三處for(i=0;i

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:用冒泡法對(duì)6個(gè)字符串按由

小到大的次序布列.

**found**

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

**found**

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

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,它的功能是:求出ss所指字符串中指定字符個(gè)數(shù),并返

回次值.

intfun(char*ss,charc

(

intcnt=0;

char*p=ss;

while(*p{

if(*p==ccnt++;

P++;

)

returnent;

)

第四十一套

1.程序填空

給定程序中,函數(shù)fun的功能是:將形參s所指定字符串中的數(shù)字字符

轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值,計(jì)算出這些數(shù)值的累加和作為函數(shù)值返回.

第1處

if(isdigit(*ssum+=*s-48;

第2處s++;

第3處returnsum;

2.程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:計(jì)算小于形參k的最大的10

個(gè)能被13或17整除的自然數(shù)之和.K的值由主函數(shù)傳入,若K的值為

500.則主函數(shù)為4622.

**found**

if((k%13==0||(k%17==0

**found**

)

3.程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,它的功能是:求小于形參n同時(shí)能被3和7整除的所有

自然數(shù)之和的平方根,并作函數(shù)的返回值.

doublefun(intn

(

doublesum=0.0;

inti;

for(i=21;i<=n;i++

if((i%3==0&&(i%7==0sum

+=i;

returnsqrt(sum;

第四十二套

1程序填空

給定程序中,函數(shù)fun的功能是:將不帶頭結(jié)點(diǎn)的單向鏈表結(jié)點(diǎn)數(shù)據(jù)域

中的數(shù)據(jù)從小到大排序.即若原鏈表節(jié)點(diǎn)數(shù)據(jù)域從頭到位的數(shù)據(jù)為

10、4、2、8、6,排序后鏈表結(jié)點(diǎn)數(shù)據(jù)域從頭至尾的數(shù)據(jù)為2、4、6、

8、10.

第1處q=p->next;

第2處while(q

第3處p=p->next;

2程序修改

給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中的字母轉(zhuǎn)

換為按字母次序的后續(xù)字母(但Z轉(zhuǎn)化成A,z轉(zhuǎn)換為a),其它字符不

變.

**found**

while(*s

**found**

s++;

3程序設(shè)計(jì)

voidfun(int*w,intp,intn

inti,j=O,b[N];

for(i=p+l;i

for(i=0;i<=p;i++

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

for(i=0;i

w[i]=b[i];

)

第四十三套

1程序填空

給定程序中,函數(shù)fun的功能是:判斷形參a所指的N乘以N(規(guī)定N

為奇數(shù))的矩陣是否是“幻方”,若是,函數(shù)返回值是1;不是,函數(shù)返

回值為0.“幻方”的判斷前提是:矩陣每行、每列、主對(duì)角線及否決角線

上元素之和都相等.

第1處row=colum=0;

第2處

if((row!=colum||(row!=mlreturn0;

第3處return1;

2程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:根據(jù)整型形參m計(jì)算如下公

式的值.

**found**

t=t-l.Oi;

**found**

returnt;

3程序設(shè)計(jì)

請(qǐng)編寫一個(gè)函數(shù),函數(shù)的功能是:刪除字符串中所有的空格.

intfun(char*str

(

char*p=str;

inti=0;

while(*p{

5str[i++]=*p;

P++;

str[i]=O;

第四十四套

1程序填空

給定程序中,函數(shù)fun的功能是:將N乘以N矩陣中元素的值按列右移

一個(gè)位置,右邊被移出矩陣的元素繞回左邊.

第1處for(i=0;i

第2處

第3處明[0]=x;

2程序修改

給定程序M0DI1.C中函數(shù)fun的功能是:計(jì)算并輸出下列級(jí)數(shù)的前n

項(xiàng)的和Sn,直到Sn+1大于q為止,q的值通過形參傳入.

**found**

s=s+(n+1.0n;

**found**

returnt;

3程序編寫

編寫函數(shù)fun,它的功能是:求Fibonacci數(shù)列中大于t的最小一個(gè)數(shù),成

果由函數(shù)返回.其中Fibonacci數(shù)列F(n)定義為F(0=0,F(l=l,F(n...

intfun(intt

(

intfO=O,fl=l,f;

do

{f=fO+fl;

fO=fl;

fl=f;

}while(f

returnf;

)

第四十五套

1程序填空

給定程序中,函數(shù)fun的功能是將帶頭結(jié)點(diǎn)的單向鏈表逆置.即若原鏈

表中從頭至尾結(jié)點(diǎn)數(shù)據(jù)域依次為:2、4、6、8、10,逆置后,從頭至尾結(jié)

點(diǎn)數(shù)據(jù)域依次為:10、8、6、4、2..

第1處p=h->next;

第2處if(p==0return;

第3處p=q;q=r;

2程序修改

給定MODIl.Cfun函數(shù)的功能是:計(jì)算s所指字符串中含有t所指字符

串的數(shù)目,并作為函數(shù)值返回.請(qǐng)改正函數(shù)fun中指定部位的錯(cuò)誤,使它

能得到對(duì)的成果.

**found**

r=t;

**found**

if(*r==0

3程序設(shè)計(jì)

請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個(gè)字符串(每

串的長(zhǎng)度不超過N,按次序合并組成一個(gè)新的字符串,函數(shù)fun中給出的

語句提供參考.

voidfun(chara[M][N],char*b

{inti;*b=0;

for(i=0;i

第四十六套

1程序填空

給定程序中,函數(shù)fun的功能是:將形參s所指字符串所有ASCII碼小

于97的字符存入形

第1處*(t+n=*s;n++;}

第2處s++;

第3處returnn;

2程序修改

給定程序MODI1.C中函數(shù)fun的功能是:由形參給定n個(gè)實(shí)數(shù),輸出平

均值以上(含平均值)的實(shí)數(shù)個(gè)數(shù).

**found**

intj,c=0;floatxa=0.0;

**found**

if(x[j]>=xa

3程序設(shè)計(jì)

編寫函數(shù)fun,其功能是:根據(jù)以下公式求p的值,成果由函數(shù)值帶回.m

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

p=m!(n!*(m-n!

floatfun(intm,intn

(

floatp;

p=1.0*jc(mjc(njc(m-n;

returnp;

)

第四十七套

溫馨提示

  • 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)論