計(jì)算機(jī)2級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案_第1頁(yè)
計(jì)算機(jī)2級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案_第2頁(yè)
計(jì)算機(jī)2級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案_第3頁(yè)
計(jì)算機(jī)2級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案_第4頁(yè)
計(jì)算機(jī)2級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案_第5頁(yè)
已閱讀5頁(yè),還剩81頁(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)介

一、填空題

考試做題要求:1、在_1_處填寫(xiě)正確的答案,并將下劃線和數(shù)字刪除。2、將題口做完之后一定要保存。3、不能刪除

/**********found**********/,也不能多行或少行。

1、給定程序中,函數(shù)fun的功能是根據(jù)形參i的值返回某個(gè)函數(shù)的值。當(dāng)調(diào)用正確時(shí),程序輸出:

xl=5.000000,x2=3.000000,xl*xl+xl*x2=40.000000

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

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

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

ttinclude<stdio.h>

doublefl(doublex)

{returnx*x;}

doublef2(doublex,doubley)

{returnx*y;}

/**********found**********/

—1_fun(inti,doublex,doubley)

{if(i=D

/**********found**********/

return_2_(x);

else

/**********found**********/

return_3_(x,y);

)

mainO

{doublexl=5,x2=3,r;

r=fund,xl,x2);

r+=fun(2,xl,x2);

printf(z,\nxl=%f,x2=%f,xl*xl+xl*x2=%f\n\n〃,xl,x2,r);

)

2、程序通過(guò)定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲(chǔ)了若干名學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,

按照姓名的字典序(從小到大)排序。

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

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

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

ttinclude<stdio.h>

#include<string.h>

structstudent{

longsno;

charname[10];

floatscore[3];

};

voidfun(structstudenta[],intn)

(

/**********fourid**********/

_1_t;

inti,j;

/**********found**********/

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

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

/**********found**********/

if(strcmp(_3_)>0)

{t=a[i];a[i]=a[j];a[j]=t;}

)

main0

(structstudents[4]={{10001,"ZhangSan”,95,80,88},

(10002,"LiSi”,85,70,78),

{10003,"CaoKai”,75,60,88},

{10004,“FangFang”,90,82,87)};

inti,j;

printf('\n\nTheoriginaldata:\n\n");

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

{printf("\nNo:%ldName:%-8sScores:",s[j].sno,s[jl.name);

for(i=0;i<3;i++)printf(*%6.2f”,s[j],score[i]);

printfCW);

)

fun(s,4);

printf('\n\nThedataaftersorting:\n\n");

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

{printf("\nNo:%ldName:%-8sScores:",s[j].sno,s[j].name);

for(i=0;i<3;i++)printf("%6.2f",s[j].scoreti]);

printf("\n");

}

)

3、給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),作為函數(shù)值返回;并將大于平均值

的數(shù)放在形參y所指數(shù)組中,在主函數(shù)中輸出。

例如,有10個(gè)正數(shù):4630324061745154826,平均值為:30.500000

主函數(shù)中輸出:4632404548

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

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

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

#include<stdlib.h>

^defineN10

doublefun(doublex[],double*y)

{inti,j;doubleav;

/**********found**********/

av=_1_;

/**********fourid**********/

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

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

/**********fourid**********/

if(x[i]>av)y[__3_]=x[i];

returnav;

main()

inti;doublex[N],y[N];

for(i=0;i<N;i++){x[i]=rand()%50;printfOf",x[i]);}

printf(〃\n〃);

printf(z/\nTheaverageis:%f\nz,,fun(x,y));

for(i=0;y[i]>=0;i++)printfC%5.If*,y[i]);

printf('\n");

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

例如,有下列矩陣:

123

456

789

101112

若k為2,程序執(zhí)行結(jié)果為:

789

456

123

101112

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

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

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

ttinclude<stdio.h>

^defineN3

#defineM4

/**********found**********/

voidfun(int(*a)[N],int_1_)

{inti,j,temp;

/**********found**********/

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

{temp=a[0][i];

/**********{*ouncl**********/

a[0][i]

a[k][i]temp;

main()

{intx[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}},i,j;

printf("Thearraybeforemoving:\n\nz/);

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

{for(j=0;j<N;j++)printf(z,%3d/z,x[i][j]);

printf(/z\n\n/z);

fun(x,2);

printf("Thearrayaftermoving:\n'n");

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

{for(j=0;j<N;j++)printfC%3dz\x[i][j]);

printf('\n\n");

)

}

5、給定程序中,函數(shù)fun的功能是將a和b所指的兩個(gè)字符串轉(zhuǎn)換成面值相同的整數(shù),并進(jìn)行相加作為函數(shù)值返回,規(guī)定字符串中只含9

個(gè)以下數(shù)字字符。

例如,主函數(shù)中輸入字符串:32486和12345,在主函數(shù)中輸出的函數(shù)值為:4483k

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

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

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

#include<stdio.h>

ttinclude<string.h>

ttinclude<ctype.h>

ttdefineN9

longctod(char*s)

{longd=0;

while(*s)

if(isdigit(*s)){

/**********found**********/

d=d*10+*s-—1—;

/**********found**********/

_2_;}

returnd;

)

longfun(char*a,char*b)

(

/**********found**********/

return_3_;

}

mainO

{charsi[N],s2[N];

do

{printf("'Inputstringsi:");gets(si);}

while(strlen(sl)>N);

do

{printf("Inputstrings2:");gets(s2);}

whi1e(strlen(s2)>N);

printf(,zTheresultis:%ld\n*,fun(si,s2));

}

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

1x33x55x7(2xZ-l)x(2x〃+l)

s=-----+------+------+??.+--------------------------

224262(2x%)2

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

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

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

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

ttinclude<stdio.h>

doublefun(intn)

{inti;doubles,t;

/**********found**********/

s=_l_;

/**********found**********/

for(i=l;i<=_2?;i++)

(t=2.0*i;

/**********found**********/

s=s+(2.0*i-l)*(2.0*i+l)/_3_;

)

returns;

)

mainO

{intn=-l;

while(n<0)

{printfCPleaseinput(n>0):");scanf&n);}

printf(,z\nTheresultis:%f\n〃,fun(n));

)

7、給定程序中,函數(shù)fun的功能是:在3X4的矩陣中找出在行上最大、在列上最小的那個(gè)元素,若沒(méi)有符合條件的元素則輸出相應(yīng)信息。

例如,有下列矩陣:

12134

78106

3597

程序執(zhí)行結(jié)果為:find:a[2][2]=9

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

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

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

ttinclude<stdio.h>

^defineM3

#defineN4

voidfun(int(*a)[N])

{inti=0,j,find=0,rmax,c,k;

while((i<M)&&(!find))

{rmax=a[i][0];c=0;

for(j=l;j<N;j++)

if(rmax<a[i][j]){

/**********found**********/

rmax=a[i][j];c:1_;}

find=l;k=0;

while(k<M&&find){

/**********found**********/

if(k!=i&&a[k][c]<=rmax)find=—2_;

k++;

)

if(find)printf("find:a[%d][%d]=%d\n*,i,c,a[i][c]);

/**********found**********/

_3__;

)

if(!find)printf("notfound!\nz,);

)

mainO

{intx[M][N],i,j;

printf(z,Enternumberforarray:\n〃);

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

for(j=0;j<N;j++)scanf[j]);

printf(Z/Thearray:\nz,);

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

{for(j=0;j<N;j++)printfC%3d*,x[i][j]);

printf(〃\n\n〃);

)

fun(x);

}

8、給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,刪除所有申長(zhǎng)超過(guò)k的字符串,函數(shù)返回所剩字符串的個(gè)數(shù)。ss所指

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

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

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

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

ttinclude<stdio.h>

#include<string.h>

ttdefineN5

^defineM10

intfun(char(*ss)[M],intk)

{inti,j=0,len;

/**********found**********/

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

{len=strlen(ssLi]);

/**********found**********/

if(len<=_2_)

/**********found**********/

strcpy(ss[j++],_3_);

)

returnj;

)

main()

{charx[N][M]:{"Beijing","Shanghai","Tianjing〃,“Nanjing”,〃Wuhan〃};

inti,f;

printf(,z\nTheoriginalstring\n\nz,);

for(i=0;i<N;i++)puts(x[i]);printf("\n");

f=fun(x,7);

printf("Thestringwitchlengthislessthanorequalto7:\n");

for(i=0;i<f;i++)puts(x[i]);printf(〃\n");

}

9、程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給

函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學(xué)號(hào)和姓名,最后輸出修改后的數(shù)據(jù)。例如:a所指變量中的學(xué)號(hào)、姓名、和三門(mén)課的成績(jī)依次是:

10001."ZhangSan\95、80、88,則修改后輸出b中的數(shù)據(jù)應(yīng)為:10002.〃LiSi〃、95、80、88.

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

注意:源程序存放在考生文件夾卜.的BLANK1.C中。

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

ttinclude<stdio.h>

ttinclude<string.h>

structstudent{

longsno;

charname[10];

floatscore[3];

};

voidfun(structstudenta)

{structstudentb;inti;

/**********found**********/

b二_1_;

b.sno=10002;

/**********found**********/

strcpyC2_,"LiSi");

printf(〃\nThedataaftermodified:\n〃);

printf(〃\nNo:%ldName:%s\nScores:〃,b.sno,);

/**********found**********/

for(i=0;i<3;i++)printf(*%6.2f”,b.—3—);

printfC\n");

)

mainO

{structstudents={10001,“ZhangSan”,95,80,88);

inti;

printf("\n\nTheoriginaldata:\n");

printf(,z\nNo:%ldName:%s\nScores:",s.sno,s.name);

for(i=0;i<3;i++)printfC%6.2f”,s.score[i]);

printf("\n〃);

fun(s);

)

10、給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將所有串長(zhǎng)超過(guò)k的字符串中右邊的字符刪除,只保留左邊的k個(gè)字

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

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

注意:源程序存放在考生文件夾卜的BLANK1.C中。

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

ftinclude<stdio.h>

ttinclude<string.h>

#defineN5

ttdefineM10

/**********found**********/

voidfun(char(*ss)_1_,intk)

{inti=0;

/**********found**********/

while(i<_2_){

/**********found**********/

ss[i][k]=_3_;i++;}

}

main()

{charx[N][M]={"Create","Modify","Sort","skip","Delete"};

inti;

printf(,z\nTheoriginalstring\n\nz,);

for(i=0;i<N;i++)puts(x[i]);printf("\n");

fun(x,4);

printfC?\nThestringafterdeleted八n\n〃);

for(i=0;i<N;i++)puts(x[i]);printf(〃\n");

}

11、給定程序中,函數(shù)fun的功能是:把形參s所指字符串中最右邊的n個(gè)字符復(fù)制到形參I所指字符數(shù)組中,形成一個(gè)新申。若s所指

字符串的長(zhǎng)度小于n,則將整個(gè)字符串復(fù)制到形參t所指字符數(shù)組中。

例如,形參s所指的字符串為:abcdefgh,n的值為5,程序執(zhí)行后t所指字符數(shù)組中的字符串應(yīng)為:defgho

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

注意:源程序存放在考生文件夾卜.的BLANK1.C中。

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

#include<stdio.h>

ttinclude〈string.h>

^defineN80

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

{intlen,i,j=0;

len=strlen(s);

/**********found**********/

if(n>=len)strcpy(_1_);

else{

/**********fourid**********/

for(i=len-n;i<=len-l;i++)t[j++]=_2_;

/**********found**********/

t[j]=_3—;

)

)

main()

{chars[N],t[N];intn;

printf(Z/Enterastring:〃);gets(s);

printf("Entern:");scanf(螺d〃,&n);

fun(s,n,t);

printf(,zThestringt:〃);puts(t);

}

12、給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的所有數(shù)字字符順序前移,其他字符順序后移,處理后新字符串的首地址作

為函數(shù)值返回。

例如,s所指字符串為:asdl23fgh5##43df,

處理后新字符串為:123543asdfgh##df°

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

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

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

ttinclude<stdio.h>

ttinclude<string.h>

ttinclude<stdlib.h>

ttinclude<ctype.h>

char*fun(char*s)

{inti,j,k,n;char*p,*t;

n=strlen(s)+l;

t=(char*)malloc(n*sizeof(char));

p=(char*)malloc(n*sizeof(char));

j=0;k=0;

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

{if(isdigit(s[i])){

/**********found**********/

j++;}

else

{t[k]=s[i];k++;}

)

/**********found**********/

for(i=0;i<_2?;i++)p[j+i]=t[i];

p[j+k]=O;

/**********fourid**********/

return_3_;

)

main()

{chars[80];

printf("Pleaseinput:");scanfs);

printf("\nTheresultis:%s\n”,fun(s));

)

13、給定程序中,函數(shù)fun的功能是:找出100?999之間(含100和999)所有整數(shù)中各位上數(shù)字之和為x(x為一正整數(shù))的整數(shù),

然后輸出;符合條件的整數(shù)個(gè)數(shù)作為函數(shù)值返回。

例如,當(dāng)x值為5時(shí),100?999之間各位上數(shù)字之和為5的整數(shù)有:104、113、122、131,140、203、212、221、230、302、311、

320、401、410、500。共有15個(gè)。當(dāng)x值為27時(shí),各位數(shù)字之和為27的整數(shù)是:999。只有1個(gè)。

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

注意:源程序存放在考生文件夾卜的BLANK1.C中。

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

ftinclude<stdio.h>

fun(intx)

{intn,si,s2,s3,t;

n=0;

t=100;

/**********found**********/

while(t<=_1_){

/**********found**********/

sl=t%10;s2=(_2_)%10;s3=t/100;

/**********found**********/

if(sl+s2+s3=二_3—)

{printf(,z%d〃,t);

n++;

)

t++;

)

returnn;

}

main()

{intx=-l;

while(x<0)

{printfC'Pleaseinput(x>0):,z);scanf&x);}

printf(,z\nTheresultis:%d\n”,fun(x));

)

14、給定程序中,函數(shù)fun的功能是:將形參s所指字符串中的數(shù)字字符轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值,計(jì)算出這些數(shù)值的累加和作為函數(shù)值返回。

?例如,形參s所指的字符串為:abs5defl26jkm8,程序執(zhí)行后的輸出結(jié)果為:22。

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

注意:源程序存放在考生文件夾下的BLANKLCU」。

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

#include<stdio.h>

#include<string.h>

#include<ctype.h>

intfun(char*s)

{intsum=0;

while(*s){

/**********found**********/

if(isdigit(*s))sum+=*s-—1—;

/**********found**********/

_2_;

)

/**********found**********/

return_3—;

)

mainO

{chars[81];intn;

printf(,z\nEnterastring:\n\n");gets(s);

n=fun(s);

printf(,z\nTheresultis:%d\n\n,z,n);

}

15、給定程序中,函數(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。

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

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

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

#include<stdio.h>

ttinclude<stdlib.h>

ttdefineN6

typedefstructnode{

intdata;

structnode*next;

}NODE;

voidfun(NODE*h)

{NODE*p,*q;intt;

/**********found**********/

P=_1_;

while(p){

/**********found**********/

q二_2_;

while(q){

/**********found**********/

if(p->data3_q->data)

{t=p->data;p->data=q->data;q->data=t;}

q=q->next;

)

p二p->next;

)

)

NODE*creatlist(inta[])

{NODE*h,*p,*q;inti;

h=(NODE*)ma11oc(sizeof(NODE));

h->next=NULL;

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

{q=(NODE*)malloc(sizeof(NODE));

q->data=a[i];

q->next=NULL;

if(h->next==NULL)h->next=p=q;

else{p->next=q;p=q;}

}

returnh;

)

voidoutlist(NODE*h)

{NODE*p;

p=h->next;

if(p==NULL)printf(*ThelistisNULL!\n");

else

(printf(z,\nHead");

do

{printfp->data);p=p->next;}

while(p!=NULL);

printf(,,->End\n,/);

)

}

main()

{NODE*head;

inta[N]={0,10,4,2,8,6};

head=creatlist(a);

printf(*XnTheoriginallist:\n");

outlist(head);

fun(head);

printf(*\nThelistaftersorting:\n〃);

outlist(head);

}

16、程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進(jìn)

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

例如:a所指變量s中的學(xué)號(hào)、姓名、和三門(mén)課的成績(jī)依次是:10001、〃ZhangSan\95、80、88,修改后輸出t中的數(shù)據(jù)應(yīng)為:10002、

〃LiSi〃、96、81、890

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

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

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

#include<stdio.h>

ttinclude〈string.h>

structstudent{

longsno;

charname[10];

floatscore[3];

};

/**********found**********/

—1—fun(structstudent*a)

{inti;

a->sno=10002;

strcpy(a->name,〃LiSi〃);

/**********fourid**********/

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

/**********found**********/

return3

)

main()

{structstudents={10001,“ZhangSan”,95,80,88),*t;

inti;

printf(〃\n\nTheoriginaldata:\n〃);

printf(/z\nNo:%ldName:%s\nScores:",s.sno,s.name);

for(i=0;i<3;i++)printf(z,%6.2f”,s.score[i]);

printf('\n");

t=fun(&s);

printf(,z\nThedataaftermodified:\n");

printf(z,\nNo:%ldName:%s\nScores:",t->sno,t->name);

for(i=0;i<3;i++)printfC%6.2f”,t->score[i]);

printf("\n〃);

}

17、給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)

移至數(shù)組的前部,小于等于平均值的數(shù)據(jù)移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動(dòng)后的數(shù)據(jù)。

例如,有10個(gè)正數(shù):4630324061745154826,平均值為:30.500000

移動(dòng)后的輸出為:4632404548306171526

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

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

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

ftinclude<stdlib.h>

ttinclude<stdio.h>

ttdefineN10

doublefun(double*x)

{inti,j;doubles,av,y[N];

s=0;

for(i=0;i<N;i++)s=s+x[i];

/**********found**********/

av=_1_;

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

if(x[i]>av){

/**********found**********/

y[_2_]=x[i];

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

/**********found**********/

if(x[i]!=_3_)y[j++]=x[i];

for(i=0;i<N;i++)x[i]=y[i];

returnav;

}

mainO

{inti;doublex[N];

for(i=0;i<N;i++){x[i]=rand()%50;printfC%4.Of",x[i]);}

printf(〃\n〃);

printf(/z\nTheaverageis:%f\n〃,fun(x));

printf(?,\nTheresult:\n〃,fun(x));

for(i=0;i<N;i++)printfC%5.0f\x[i]);

printf("\n〃);

}

18、給定程序中,函數(shù)fun的功能是:計(jì)算出形參s所指字符串中包含的單詞個(gè)數(shù),作為函數(shù)值返回。為便于統(tǒng)計(jì),規(guī)定各單詞之間用空

格隔開(kāi)。

例如,形參s所指的字符串為:ThisisaClanguageprogram.,函數(shù)的返回值為6。

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

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

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

ftinclude<stdio.h>

intfun(char*s)

{intn=0,flag=0;

while(*s!=,\0J)

{if(*s!=,'&&flag==0){

/**********found**********/

一1_;flag=l;}

/**********fourid**********/

if(*s==*')flag=2.;

/**********found**********/

_3_;

}

returnn;

}

mainO

{charstr[81];intn;

printf(z,\nEnteralinetext:\nz,);gets(str);

n=fun(str);

printf(,z\nThereare%dwordsinthistext.\n\nz,,n);

}

19、給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中查找與形參t所指字符串相同的串,找到后返回該串在字符串?dāng)?shù)組中

的位置(下標(biāo)值),未找到則返回ss所指字符串?dāng)?shù)組中共有N個(gè)內(nèi)容不同的字符串,且串長(zhǎng)小于M。

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

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

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

#include<stdio.h>

#include<string.h>

ttdefineN5

ttdefineM8

intfun(char(*ss)[M],char*t)

{inti;

/**********found**********/

for(i=0;i<_1—;i++)

/**********found**********/

if(strcmp(ss[i],t)==0)return_2_;

return-1;

)

main()

{charch[N][M]={"if","while","switch",〃int","for"),t[M];

intn,i;

printf(〃\nTheoriginalstring\n\nzz);

for(i=0;i<N;i++)puts(ch[i]);printf(〃\n〃);

printf(/z\nEnterastringforsearch:");gets(t);

n=fun(ch,t);

/**********found**********/

if(n—_3_)printf('\nDon'tfound!\n");

elseprintf(,z\nThepositionis%d.\n〃,n);

)

20、給定程序中,函數(shù)fun的功能是:找出NXN矩陣中每列元素中的最大值,并按順序依次存放于形參b所指的一維數(shù)組中。

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

注意:源程序存放在考生文件夾卜的BLANK1.C中。

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

#include<stdio.h>

ttdefineN4

voidfun(int(*a)[N],int*b)

{inti,j;

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

/**********found**********/

b[i]=

for(j=l;j<N;j++)

/**********found**********/

if(b[i]_2_a[j][i])b[i]=a[j][i];

)

}

main()

{intx[N][N]={{12,5,8,7},{6,1,9,3),{1,2,3,4},{2,8,4,3}},y[N],i,j;

printf(/z\nThematrix:\n");

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

{for(j=0;j<N;j++)printfC%4d",x[i][j]);

printfr\n");

)

/**********found**********/

fun(_3_);

printf("\nTheresultis:〃);

for(i=0;i<N;i++)printf("%3d〃,y[i]);

printf('\n");

)

21、給定程序中,函數(shù)fun的功能是:判斷形參s所指字符串是否是〃回文〃(Palindrome),若是,函數(shù)返回值為1:不是,函數(shù)返回值為

0。〃回文〃是正讀和反讀都?樣的字符串(不區(qū)分大小寫(xiě)字母)。

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

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

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

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

ttinclude<stdio.h>

ftinclude<string.h>

ttinclude<ctype.h>

intfun(char*s)

{char*lp,*rp;

/**********found**********/

1P=」一;

rp=s+strlen(s)-l;

while((toupper(*lp)==toupper(*rp))&&(lp<rp))(

/**********found**********/

lp++;rp_2—;}

/**********found**********/

if(lp<rp)_3_;

elsereturn1;

)

main()

{chars[81];

printf(Z/Enterastring:");scanf(繪s”,s);

if(fun(s))printf(〃\n\"%s\〃isaPalindrome.\n\n,z,s);

elseprinlfisn'taPalindrome.\n\n*,s);

}

22、程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到student.dat文件中。

函數(shù)fun的功能是從指定文件中找出指定學(xué)號(hào)的學(xué)生數(shù)據(jù),讀入此學(xué)生數(shù)據(jù),對(duì)該生的分?jǐn)?shù)進(jìn)行修改,使每門(mén)課的分?jǐn)?shù)加3分,修改后重

寫(xiě)文件中該學(xué)生的數(shù)據(jù),即用該學(xué)生的新數(shù)據(jù)覆蓋原數(shù)據(jù),其它學(xué)生數(shù)據(jù)不變:若找不到,則什么都不做。

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

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

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

ttinclude<stdio.h>

^defineN5

typedefstructstudent{

longsno;

charname[10];

floatscore[3];

}STU;

voidfun(char*filename,longsno)

{FILE*fp;

STUn;inti;

fp=fopen(filename,“rb+〃);

/**********found**********/

while(!feof(—1—))

{fread(&n,sizeof(STU),1,fp);

/**********found**********/

if(n.sno_2_sno)break;

}

if(!feof(fp))

{for(i=0;i<3;i++)n.score[i]+=3;

/**********found**********/

fseek(_3_,-l(long)*sizeof(STU),SEEK_CUR);

fwrite(&n,sizeof(STU),1,fp);

)

fclose(fp);

}

mainO

{STUt[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},

(10003,85,70,78},(10004,"FangFang",90,82,87},

{10005,"ZhangSan",95,80,88}},ss[N];

inti,j;FILE*fp;

fp二fopen("student,dat”,〃wb");

fwrite(t,sizeof(STU),N,fp);

fclose(fp);

printf(z/\nTheoriginaldata:\n〃);

fp二fopen("student.dat〃,〃rb〃);

fread(ss,sizeof(STU),N,fp);

fclose(fp);

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

{printf("\nNo:%ldName:%-8sScores:",ss[j].sno,ss[j].name);

for(i=0;i<3;i++)printf("%6.2f”,ss[j].score[i]);

printf(*\n*);

)

fun("student.dal”,10003);

fp=fopenCstudent.dat",〃rb");

fread(ss,sizeof(STU),N,fp);

fclose(fp);

printfCAnThedataaftermodifing:\n〃);

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

{printf('\nNo:%ldName:%-8sScores:〃,ss[j].sno,ss[j].name);

for(i=0;i<3;i++)printf(*%6.2f”,ss[j].score[i]);

printf(〃\n〃);

)

23、程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和3門(mén)課的成績(jī)。函數(shù)fun的功能是對(duì)形參b所指結(jié)構(gòu)體變量中的數(shù)據(jù)進(jìn)行

修改,最后在主函數(shù)中輸出修改后的數(shù)據(jù)。

例如例所指變量t中的學(xué)號(hào)、姓名、和三門(mén)課的成績(jī)依次是:10的學(xué)〃ZhangQi"、93、85、87,修改后輸出t中的數(shù)據(jù)應(yīng)為:10004、

〃Lijie“、93、85、87。

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

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

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

#include<stdio.h>

#include<string.h>

structstudent{

longsno;

charname[10];

floatscore[3];

};

voidfun(structstudent*b)

{inti;

/**********found**********/

b_l_二10004;

/**********found**********/

strcpy(b_2_,“LiJie");

)

main()

(structstudentt={10002,"ZhangQi”,93,85,87);

inti;

printf(z,\n\nTheoriginaldata:\n〃);

printfC?\nNo:%ldName:%s\nScores:/z,t.sno,t.name);

for(i=0;i<3;i++)printf(,z%6.2f”,t.scoreti]);

printf("\n〃);

/**********found**********/

fun(_3_);

printf(〃\nThedataaftermodified:\n〃);

printf(/z\nNo:%ldName:%s\nScores:",t.sno,t.name);

for(i=0;i<3;i++)printf(z,%6.2f”,t.score[i]);

printf('\n");

)

24、給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中小于平均值的數(shù)據(jù)

移至數(shù)組的前部,大于等于平均值的數(shù)據(jù)移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動(dòng)后的數(shù)據(jù)。

例如,有10個(gè)正數(shù):4630324061745154826,平均值為:30.500000

移動(dòng)后的輸出為:3061715264632404548

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

注意:源程序存放在考生文件夾下的BLANKLCU」。

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

#include<stdlib.h>

#include<stdio.h>

^defineN10

doublefun(double*x)

{inti,j;doubleav,y[N];

av=0;

/**********found**********/

for(i=0;i<N;i++)av+=_」_;

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

if(x[i]<av){

/**********fourid**********/

y[j]=x[i];x[i]=-l;_2_;}

i=0;

whi1e(i<N)

{if(x[i]!=-1)y[j++]=x[i];

/**********fuorid**********/

_3_;

)

for(i=0;i<N;i++)x[i]=y[i];

returnav;

}

main()

{inti;doublex[N];

for(i=0;i<N;i++){x[i]=rand()%50;printfOf",x[i]);}

printf(〃\n〃);

printf(z/\nTheaverageis:fun(x));

printf(,z\nTheresult:\n〃,fun(x));

for(i=0;i<N;i++)printf(^%5.Of",x[i]);

printfC\n9;

}

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

135(2xn-l)

?+?-+F+"'+7W-

直到如巴孚<io-3,并把計(jì)算結(jié)果作為函數(shù)值返回。

Qxn)?

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

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

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

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

ttinclude<stdio.h>

doublefun(doublee)

{inti;doubles,x;

/**********found**********/

s=0;i=_l_;

x=l.0;

while(x>e)(

/**********found**********/

_2_;

/**********found**********/

x=(2.0*i-l)/((_3_)*⑵0*i));

s=s+x;

}

returns;

)

mainO

{doublee=le-3;

printf(,z\nTheresultis:%f\n〃,fun(e));

}

26、給定程序中,函數(shù)fun的功能是建立一個(gè)NXN的矩陣。矩陣元素的構(gòu)成規(guī)律是:最外層元素的值全部為1;從外向內(nèi)第2層元素的

值全部為2:第3層元素的值全部為3,…依次類(lèi)推。例如,若N=5,生成的矩陣為:

11111

12221

1

溫馨提示

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