計(jì)算機(jī)二級(jí)C1-100題庫(kù)_第1頁(yè)
計(jì)算機(jī)二級(jí)C1-100題庫(kù)_第2頁(yè)
計(jì)算機(jī)二級(jí)C1-100題庫(kù)_第3頁(yè)
計(jì)算機(jī)二級(jí)C1-100題庫(kù)_第4頁(yè)
計(jì)算機(jī)二級(jí)C1-100題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩358頁(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給定程序中,函數(shù)fun的功能是根據(jù)形參i的值返回某個(gè)函數(shù)的

值。當(dāng)調(diào)用正確時(shí),程序輸出:

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

ttinclude<stdio.h>

doublefl(doublex)

{returnx*x;}

doublef2(doublex,doubley)

{returnx*y;}

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

―1—fun(inti,doublex,doubley)

{if(i==l)

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

return_2_(x);

else

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

return_3_(x,y);

)

main()

{doublexl=5,x2=3,r;

r=fun(1,xl,x2);

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

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

答案:double

fl

f2

2改錯(cuò):比較兩個(gè)字符串,將長(zhǎng)的那個(gè)字符串的首地址作為函數(shù)值

返回。

ttinclude<stdio.h>

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

charfun(char*s,char*t)

{intsl=0.tl=0:char*ss,*tt:

ss=s;tt=t;

while(*ss)

{sl++;

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

(*ss)++;

)

while(*tt)

{tl++;

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

(*tt)++;

)

if(tl>sl)returnt;

elsereturns;

)

main()

{chara[80],b[80],*p,*q;inti;

printf("\nEnterastring:");gets(a);

printf("“\nEnterastringagain:"");gets(b);

printf("“\nThelongeris\n\n\""%s\""\n"",fun(a,b));

答案:char*fun(char*s,char*t)

ss++;

tt++;

3請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)

則如下:把第1到第m個(gè)字符,平移到字符串的最后,把第m+1到最

后的字符移到字符串的前部。

例如,字符串中原有的內(nèi)容為:ABCDEFGHIJK,m的值為3,則移

動(dòng)后,字符串中的內(nèi)容應(yīng)該是:DEFGHIJKABCo

ftinclude<stdio.h>

ttinclude<string.h>

ftdefineN80

voidfunl(char*w)/*本函數(shù)的功能是將字符串中字符循環(huán)左移

一個(gè)位置*/

(

inti;chart;

t=w[0];

for(i=0;i<strlen(w)-1;i++)

w[i]=w[i+l];

w[strlen(w)-l]=t;

)

voidfun(char*w,intm)/*可調(diào)用funl函數(shù)左移字符*/

{

}

main()

{chara[N]="ABCDEFGHIJK"";

intm;

printf(,/z/Theoriginalstring:\n");puts(a);

printf(""\n\nEnterm:;scanf(〃〃%d”,&m);

fun(a,m);

printf("\nThestringaftermoving:\nz,/,);puts(a);

printf(〃〃\n\n〃〃);

NONO();

}

NONO()

{/*請(qǐng)?jiān)诖撕瘮?shù)內(nèi)打開文件,輸入測(cè)試數(shù)據(jù),調(diào)用fun函數(shù),輸出

數(shù)據(jù),關(guān)閉文件。*/

FILE*rf,*wf;chara[N];intm,i;

rf=fopen(〃〃c:\\test\\in.dat"",""r"");

wf=fopen("'c:\\test\\out.dat"",""w"");

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

fscanf(rf,“"%d%s””,&m,a);

fun(a,m);

fprintf(wf,“"如\n"”,a);

)

fclose(rf);fclose(wf);

)

答案

voidfun(char*w,intm)/*可調(diào)用funl函數(shù)左移字符*/

(

inti;

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

funl(w);

第二套

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

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

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

^include<stdio.h>

ftinclude<string.h>

structstudent{

longsno;

charname[10];

floatscore[3];

);

voidfun(structstudenta[],intn)

(

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

—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;}

)

main()

{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[j].name);

for(i=0;i<3;i++)printf(""%6.2fs[j].score[i]);

printf(〃〃\rT〃);

)

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.2fs[j].score[i]);

printf;

答案:structstudent

n-l

a[i].name,a[j].name

2在p所指字符串中找出ASCH碼值最大的字符,將其放在第一個(gè)

位置上;并將該字符前的原字符向后順序移動(dòng)。

例如,調(diào)用fun函數(shù)之前給字符串輸入:ABCDeFGH,

調(diào)用后字符串中的內(nèi)容為:eABCDFGHo

ftinclude<stdio.h>

fun(char*p)

{charmax,*q;inti=0;

max=p[i];

while(p[i]!=0)

{if(max<p[i])

{max=p[i];

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

q=p+i

)

i++;

}

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

wihle(q>p)

{*q=*(qT);

q—;

}

p[0]=max;

)

main()

{charstr[80];

printf("“Enterastring:;gets(str);

printf("\nTheoriginalstring:;puts(str);

fun(str);

printf("“\nThestringaftermoving:;puts(str);

printf(〃”\n\n"");

)

答案:q=p+i;

while(q>p)

3學(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ù)值

返回。

例如,輸入的分?jǐn)?shù)是6069,則應(yīng)當(dāng)把分?jǐn)?shù)在60到69的學(xué)生

數(shù)據(jù)進(jìn)行輸出,包含60分和69分的學(xué)生數(shù)據(jù)。主函數(shù)中將把60放

在low中,把69放在heigh中。

""#include<stdio.h>

#defineN16

typedefstruct

{charnum[10];

ints;

}STREC;

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

main()

{STRECs[N]={{〃"GA005〃“,85},{““GA003”,76},

{〃〃GA002”,69},{〃〃GA004〃〃,85},{〃〃GA001〃〃,96},

{"“GA007”〃,72},{〃"GA008”〃,64},{““GA006”,87},

{"〃GA015"”,85},{"〃GA013"〃,94},{““GA012””,64},

{〃"GA014”〃,91},{〃〃GA011〃〃,90},『〃GA(H7〃〃,64},

{"GA018”,64},{"GA016〃“,72}};

STRECh[N],tt;FILE*out;

inti,j,n,low,heigh,t;

printf("“Enter2integernumberlow&heigh:;

scanf&low,&heigh);

if(heigh<low){t=heigh;heigh=low;low=t;}

n=fun(s,h,low,heigh);

printf("Thestudent'sdata

between%d-%d:\n"",low,heigh);

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

printf(""%s%4d\n"",h[i].num,h[i].s);

printf(〃〃\rT〃);

out=fopen(""c:\\test\\out.dat"",""w"");

n=fun(s,h,80,98);

fprintf(out,n);

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

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

if(h[i].s>h[j].s){tt=h[i];h[i]=h[j];h[j]=tt;}

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

fprintf(out,""%4d\n"",h[i].s);

fprintf(out,"\n"");

fclose(out);

)

答案:

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

(

inti,j=0;

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

(

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

(

b[j]=a[i];

j++;

)

returnj;

第三套

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

的平均值(規(guī)定所有數(shù)均為正數(shù)),作為函數(shù)值返回;并將大于平均

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

例I口,有10個(gè)正數(shù):4630324061745154826,

平均值為:30.500000

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

ftinclude<stdlib.h>

ftdefineN10

doublefun(doublex[],double*y)

{inti,j;doubleav;

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

av=_1_;

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

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

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

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

if(x[i]>av)y[_3__>x[i];

y[j]=-l;

returnav;

)

main()

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

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

printf("〃\n"");

printf("“\nTheaverageis:fun(x,y));

for(i=0;y[i]>=0;i++)printf(""%5.Ify[i]);

printf(""\n"");

)

答案:0

x[i]/N

j++"

2

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

V111-1

100220023002活2

例如,若10=2000,則應(yīng)輸出:0.000160。

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

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

ftinclude<stdio.h>

/************founcl************/

fun(intm)

{doubley=0,d;

inti;

/************fotind************/

for(i=100,i<=m,i+=100)

{d=(double)i*(double)i;

y+=1.0/d;

)

return(y);

)

main()

{intn=2000;

printf("“\nTheresultisfun(n))

答案:doublefun(intm)

for(i=100;i〈=m;i~l+=0)

3學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)

構(gòu)體數(shù)組中。請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:找出成績(jī)最低的學(xué)生

記錄,通過(guò)形參返回主函數(shù)(規(guī)定只有一個(gè)最低分)。

ftinclude<stdio.h>

ttinclude<string.h>

ftdefineN10

typedefstructss

{charnum[10];ints;}STU;

fun(STUa[],STU*s)

main()

{STUa[N]={{〃〃A01〃〃,81},{〃〃A02”,89},{〃〃A03〃〃,66},

{"〃A04",87},{〃〃A05〃〃,77},{“A06”,90),

{〃〃A07〃〃,79},{〃〃AO8〃〃,61},{“A09”,80),

{〃〃A10”,71}},m;

inti;

printf("”*****Theoriginaldata*****\n"");

for(i=0;i<N;i++)printf(""No=%sMark=%d\n””,

a[i].num,a[i].s);

fun(a,&m);

printf("”*****THERESULT*****\n"");

printf("“Thelowest:%s,%d\n"”,m.num,m.s);

N0N0();

)

N0N0()

{/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文

件。*/

FILE*rf,*wf;

STUa[N],m;

inti;

rf=fopen("'c:\\test\\in.dat"”,〃〃r");

wf=fopen(""c:\\test\\out.dat"",""w"");

for(i=0;i<10;i++)fscanf(rf,""%s%d〃”,a[i].num,

&a[i].s);

fun(a,&m);

fprintf(wf,“"Thelowest:%s,%d\n'”,m.num,m.s);

fclose(rf);

fclose(wf);

答案:fun(STUa[],STU*s

inti;

*s=a[0];

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

if(a[i].s<s->s)

*s=a[i];

)

第四套

1定程序中,函數(shù)fun的功能是:將a所指4X3矩陣中第k行的元

素與第0行元素交換。

例如,有下列矩陣:

123

456

789

101112

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

789

456

123

101112

ftinclude<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];

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

a[0][i]=—3—;

a[k][i]=temp;

)

)

main()

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

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

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

{for(j=0;j<N;j++)printfx[i][j]);

printf(〃〃\n\n〃“);

fun(x,2);

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

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

{for(j=0;j<N;j++)printf("級(jí)3d"”,x[i][j]);

printf(〃”\n\n"");

)

答案:k

N

a[k][i]

2一個(gè)字符串(長(zhǎng)度<20),將該字符串中的所有字符按ASCII碼升

序排序后輸出。

例如,若輸入:edcba,則應(yīng)輸出:abode0

ftinclude<stdio.h>

voidfun(chart[])

{

charc;

inti,j;

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

for(i=strlen(t);i;i一)

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

/**********fotind***********/

if(t[j]<t[j+1])

{

c=t[j];

t[j]=t[j+1];

t[j+1]=c;

}

)

main()

(

chars[81];

printf("“\nPleaseenteracharacterstring:"");

gets(s);

printf(""\n\nBeforesorting:\ns);

fun(s);

printf("“\nAftersortingdecendingly:\ns);

)

答案:for(i=strlen(t)-1;i;i一)

if(t[j]>t[j+1])

3寫一個(gè)函數(shù)fun,其功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)

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

例如,若輸入〃〃abc4EFg〃〃,則應(yīng)輸出"aBc4EFg”。

ftinclude<stdio.h>

ftinclude<string.h>

voidfun(char*ss)

)

voidmain(void)

(

chartt[51];

printf("“\nPleaseenterancharacterstringwithin50

characters:\nz,,/);

gets(tt);

printf("\n\nAfterchanging,thestring\n

tt);

fun(tt);

printf("“\nbecomes\ntt);

N0N00;

)

N0N0()

(

/*請(qǐng)?jiān)诖撕瘮?shù)內(nèi)打開文件,輸入測(cè)試數(shù)據(jù),調(diào)用fun函數(shù),

輸出數(shù)據(jù),關(guān)閉文件。*/

chartt[51],ch;

FILE*rf,*wf;

intlen,i=0;

rf=fopen(""c:\\test\\in.dat",""r");

wf=fopen(""c:\\test\\out.dat"〃,"w");

while(i<10){

fgets(tt,50,rf);

len=strlen(tt)-1;

ch=tt[len];

if(ch=='\n'||ch==Oxla)tt[len]=0;

fun(tt);

fprintf(wf,tt);

i++;

}

fclose(rf);

fclose(wf);

)

答案:voidfun(char*ss)

{

inti=l;

while(ss[i-l]&&ss[i])

(

if(ss[i]>=,a(&&ss[i]<='z')ss[i]+=,A,,a,;

i+=2;

第五套

1給定程序中,函數(shù)fun的功能是將a和b所指的兩個(gè)字符串轉(zhuǎn)換

成面值相同的整數(shù),并進(jìn)行相加作為函數(shù)值返回,規(guī)定字符串中只含

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

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

的函數(shù)值為:44831o

ttinclude<stdio.h>

ftinclude<string.h>

^include<ctype.h>

ftdefineN9

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―;

)

main()

{charsi[N],s2[N];

do

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

while(strlen(si)>N);

do

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

while(strlen(s2)>N);

printf("“Theresultis:%ld\n"”,fun(si,s2));

)

答案:‘O'

s++

ctod(a)+ctod(b)

2統(tǒng)計(jì)字符串中大寫字母和小寫字母的個(gè)數(shù)。

例如,給字符串s輸入:AAaaBBbl23CCccccd,則應(yīng)輸出結(jié)果:

upper=6,lower=8。

ftinclude<stdio.h>

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

voidfun(char*s,inta,intb)

(

while(*s)

{if(*s>='A'&&*s<='Z')

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

*a=a+l;

if(*s>='a&&*s<='z')

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

*b=b+l;

s++;

)

)

main()

{chars[100];intupper=0,lower=0;

printf("“\nPleaseastring:"");gets(s);

fun(s,&upper,&lower);

printf("\nupper=%dlower=%d\n"”,upper,lower);

)

答案:voidfun(char*s,int*a,int*b)

++(*a);

++(*b);

3請(qǐng)編一個(gè)函數(shù)fun,函數(shù)的功能是使實(shí)型數(shù)保留2位小數(shù),并對(duì)

第三位進(jìn)行四舍五入(規(guī)定實(shí)型數(shù)為正數(shù))。

例如:實(shí)型數(shù)為1234,567,則函數(shù)返回1234.57;

實(shí)型數(shù)為1234.564,則函數(shù)返回1234.56。

ttinclude<stdio.h>

floatfun(floath)

main()

{floata;

printf("Entera:;scanf("%f",&a);

printf("“Theoriginaldatais:"");

printf(""%f'n\n'",a);

printf("“Theresult:fun(a));

N0N0();

)

N0N0()

{/*請(qǐng)?jiān)诖撕瘮?shù)內(nèi)打開文件,輸入測(cè)試數(shù)據(jù),調(diào)用fun函數(shù),

輸出數(shù)據(jù),關(guān)閉文件。*/

inti;

floata;

FILE*rf,*wf;

rf=fopen(""c:\\test\\in.dat"",""r"");

wf=fopen(〃“c:\\test\\out.dat"","w"");

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

fscanf(rf,&a);

fprintf(wf,fun(a));

}

fclose(rf);

fclose(wf);

)

答案:floatfun(floath)

(

longi=h*1000;

if(i%10<5)return(i/10)/100.0;

elsereturn(i/10+1)/100.0;

第六套

1

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

?1x33x55x7(2?-l)x(2?+l)

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

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

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

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

ftinclude<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-1)*(2.0*i+l)/_3__;

)

returns;

)

main()

{intn=-1;

while(n<0)

{printf(""Pleaseinput(n>0);scanf&n);}

printf("“\nTheresultis:%f\n,,,/,fun(n));

)

答案:0

n

(t*t)

2統(tǒng)計(jì)substr所指子字符串在str所指字符串中出現(xiàn)的次數(shù)。

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

ftinclude<stdio.h>

fun(char*str,char*substr)

{inti,j,k,num=0;

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

for(i=0,str[i],i++)

for(j=i,k=0;substr[k]==str[j];k++,j++)

/************fotind************/

If(substr[k+l]==,\0')

{num++;

break;

)

returnnum;

)

main()

(

charstr[80],substr[80];

printf("“Inputastring:"");

gets(str);

printf("“Inputasubstring:"");

gets(substr);

printf(""%d\rT”,fun(str,substr));

答案:for(i=0;str[i];i++)

if(substr[k+l]==0)

3

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

即某項(xiàng)小于0.0005時(shí)停止迭代):

7T_1lx21x2x3lx2x---x?

—=1+-+---+------+…+---------------

233x53x5x73x5x-x(2?+1)

程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14…。

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

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

寫的若干語(yǔ)句。

ftinclude<stdio.h>

ftinclude<math.h>

doublefun(doubleeps)

)

main()

{doublex;

printf("Inputeps:"");

scanf&x);printf(""\neps=%lf,PI=%lf\n"",x,

fun(x));

N0N0();

)

NONO()

{/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文

件。*/

FILE*fp,*wf;

inti;

doublex;

fp=fopen(""c:\\test\\in.dat"",""r"");

wf=fopen("'c:\\test\\out.dat"〃,""w");

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

fscanf(fp,&x);

fprintf(wf,fun(x));

)

fclose(fp);

fclose(wf);

)

答案:

doublefun(doubleeps)

(

doublei=l,a=l,b=l,c=l,s=0;

while(c>=eps)

(

s+=c;

a*=i;

b*=2*i+l;

c=a/b;

i++;

returns*2;

第七套

1〃給定程序中,函數(shù)fun的功能是:在3X4的矩陣中找出在行上

最大、在列上最小的那個(gè)元素,若沒有符合條件的元素則輸出相應(yīng)信

息。

例如,有下列矩陣:

12134

78106

3597

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

ftinclude<stdio.h>

#defineM3

ttdefineN4

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(Ifind)printf(〃“notfound!;

)

main()

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

printf("“Enternumberforarray:\n"");

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

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

printf("“Thearray:\n,/,/);

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

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

printf(〃〃\n\n〃〃);

)

fun(x);

)

答案:j

0

i++

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

1111

£=1-尹-¥-…-版

例如,若m中的值為:5,則應(yīng)輸出:0.536389c

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

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

ftinclude<stdio.h>

doublefun(intm)

{doubley=1.0;

inti;

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

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

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

y-=1/(i*i);

return(y);

)

main()

{intn=5;

printf("\nTheresultisfunn

答案:for(i=2;i〈=m;i++)

y-=l.0/i/i;

3m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun,它的功能是:

將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在

below所指的數(shù)組中。

例如,當(dāng)score數(shù)組中的數(shù)據(jù)為:10、20、30、40、50、60、70、

80、90時(shí),函數(shù)返回的人數(shù)應(yīng)該是4,below中的數(shù)據(jù)應(yīng)為:10、20、

30、40o

ftinclude<stdio.h>

ttinclude<string.h>

intfun(intscore[],intm,intbelow[])

)

main()

{inti,n,below[9];

intscore[9]={10,20,30,40,50,60,70,80,90);

n=fun(score,9,below);

printf("“\nBelowtheaveragescoreare:"");

for(i=0;i<n;i++)printf(""%dbelow[i]);

N0N0();

)

NONO()

{/*本函數(shù)用于打開文件,輸入測(cè)試數(shù)據(jù),調(diào)用fun函數(shù),輸出數(shù)據(jù),

關(guān)閉文件。*/

inti,j,n,below[10],score[10];

FILE*rf,*wf;

rf=fopen(""c:\\test\\in.dat"",""r");

wf=fopen("'c:\\test\\out.dat"",""w"");

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

for(j=0;j<10;j++)fscanf(rf,&score[j]);

n=fun(score,10,below);

for(j=0;j<n;j++)fprintf(wf,""%dbelow[j]);

fprintf(wf,;

fclose(rf)

fclose(wf)

答案:

intfun(intscore[],intm,intbelow口)

{

inti,j=0,s=0;

for(i=0;i<m;i++)s+=score[i];

s/=m;

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

(

if(score[i]<s)

(

below[j]=score[i];

j++;

)

)

returnj;

第八套

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

刪除所有串長(zhǎng)超過(guò)k的字符串,函數(shù)返回所剩字符串的個(gè)數(shù)。ss所

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

<stdio.h>

ttinclude<string.h>

#defineN5

#defineM10

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

{inti,j=0,len;

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

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

{len=strlen(ss[i]);

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

if(len<=_2_)

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

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

)

returnj;

)

main()

{char

x|_N」M={Beijing,Shanghai,Tianjing,Nanjing,

“Wuhan"};

inti,f;

printf("“\nTheoriginalstring\n\n"");

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

f=fun(x,7);

printf("Thestringwitchlengthislessthanorequalto

7:\n〃〃);

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

)

答案:N

k

ss[i]

2逐個(gè)比較p、q所指兩個(gè)字符串對(duì)應(yīng)位置中的字符,把ASCH值大

或相等的字符依次存放到c所指數(shù)組中,形成一個(gè)新的字符串。

例如,若主函數(shù)中a字符串為:aBCDeFgH,

主函數(shù)中b字符串為:ABcd,

則c中的字符串應(yīng)為:aBcdeFgHo

ttinclude<stdio.h>

ftinclude<string.h>

voidfun(char*p,char*q,char*c)

(

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

intk=1;

/************fotind************/

while(*p!=*q)

{if(*p〈*q)c[k]=*q;

elsec[k]=*p;

if(*p)p++;

if(*q)q++;

k++;

)

)

main()

{chara[10]=〃〃aBCDeFgH”〃,b[10]=〃〃ABcd〃〃,c[80]={'\0'};

fun(a,b,c);

printf(Z,//Thestringa:;puts(a);

printf(,,/zThestringb:〃");puts(b);

printf("“Theresult:;puts(c);

)

答案:intk=0;

while(*p*q)

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

能是:除了字符串前導(dǎo)的*號(hào)之外,將串中其它*號(hào)全部刪除。在編寫函

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

例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪IW旨,字

符串中的內(nèi)容應(yīng)當(dāng)是:****ABCDEFG。

^include<stdio.h>

voidfun(char*a)

(

/*以下代碼僅供參考*/

inti=0,k;

while(a[i]=='*,)i++;

k=i+l;

while(a[i]!='\0')/*以下程序段實(shí)現(xiàn)非*字符前移*/

a[i+l]=\0';

main()

{chars[81];

printf(,z,/Enterastring;gets(s);

fun(s);

printf(Z,,/Thestringafterdeleted:\n〃");puts(s);

NONO();

)

NONO()

{/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文

件。*/

FILE*in,*out;

inti;chars[81];

in=fopen(""c:\\test\\in.dat"",""r"");

out=fopen(""c:\\test\\out.dat",""w"");

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

fscanf(in,s);

fun(s);

fprintf(out,s);

)

fclose(in);

fclose(out);

答案:voidfun(char*a)

(

/*以下代碼僅供參考*/

inti=0,k;

while(a[i]=='*,)i++;

k=i+l;

while(a[i]!='\0')/*以下程序段實(shí)現(xiàn)非*字符前移*/

if(a[k]!=,*')

a[i]=a[k];

i++;

)

k++;

)

a[i+l]-\0';

第九套

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

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

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

的數(shù)據(jù)。例如:a所指變量中的學(xué)號(hào)、姓名、和三門課的成績(jī)依次是:

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

10002、”"LiSi""、95、80、88。

ftinclude<stdio.h>

ftinclude<string.h>

structstudent{

longsno;

charname[10];

floatscore[3];

);

voidfun(structstudenta)

{structstudentb;inti;

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

b=1;

b.sno=10002;

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

strcpy(_2_,〃〃LiSi〃〃);

printf("“\nThedataaftermodified:\n"");

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

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

for(i=0;i<3;i++)printf2fb.―3_);

printf(""\n"");

)

main()

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

inti;

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

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

for(i=0;i<3;i++)printf(""%6.2fs.score[i]);

printf(""\n"");

fun(s);

答案:a

score[i]

2從s所指字符串中刪除所有小寫字母c。

ftinclude<stdio.h>

voidfun(char*s)

{inti,j;

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

if(s[i]!=c))

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

s[j]=s[i];

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

s[i]='\0';

)

main()

{chars[80];

printf("“Enterastring:;gets(s);

printf("“Theoriginalstring:;puts(s);

fun(s);

printf("“Thestringafterdeleted:;

puts(s);printf(,,,,\n\n,,,/);

)

答案:s[j++]=s[i];

s[j]=O;

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

能是:將字符串中的前導(dǎo)*號(hào)全部移到字符串的尾部。

例如,字符串中的內(nèi)容為:*******A*BC*DEF*G****,移動(dòng)后,

字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G***********。在編寫函數(shù)時(shí),不

得使用C語(yǔ)言提供的字符串函數(shù)。

ftinclude<stdio.h>

voidfun(char*a)

(

/*以下代碼僅供參考*/

char*p,*q;

intn=0;

P=a;

while(*p=='*')/*統(tǒng)計(jì)串頭'*'個(gè)數(shù)n*/

(n++;p++;}

q=a;

/*向前復(fù)制字符串,請(qǐng)?zhí)顚懴鄳?yīng)的語(yǔ)句完成其功能*/

for(;n>0;n-)/*在串尾補(bǔ)n個(gè)'*'*/

*q++=*;

*q='\。';

)

main()

{chars[81],*p;intn=0;

printf("“Enterastring:\n,/,z);gets(s);

fun(s);

printf(,Z//Thestringaftermoveing:\n"");puts(s);

NONO();

)

NONO()

{/*本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文

件。*/

FILE*in,*out;

inti;chars[81];

in=fopen("c:\\test\\in.dat"",""r"");

out=fopen(""c:\\test\\out.dat"",""w"");

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

fscanf(in,s);

fun(s);

fprintf(out,"%s\n"”,s);

)

fclose(in);

fclose(out);

)

答案:

voidfun(char*a)

(

/*以下代碼僅供參考*/

char*p,*q;

intn=0;

P=a;

while(*p=='*')/*統(tǒng)計(jì)串頭'*'個(gè)數(shù)n*/

{n++;p++;}

q=a;

/*向前復(fù)制字符串,請(qǐng)?zhí)顚懴鄳?yīng)的語(yǔ)句完成其功能*/

while(*p)*q++=*p++;

for(;n>0;n-)/*在串尾補(bǔ)n個(gè)'*'*/

*q++=*;

*q='\0';

第十套

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

將所有串長(zhǎng)超過(guò)k的字符串中右邊的字符刪除,只保留左邊的k個(gè)字

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

“#include<stdio.h>

^include<string.h>

#defineN5

ttdefineM10

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

voidfun(char(*ss)—1—,intk)

{inti=0;

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

while(i<_2_){

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

ss[i][k]=_3—;i++;}

)

main()

{char

x[N][M]={〃〃Create〃〃,“Modify”,〃〃Sort〃〃,“skip","Delete"

);

inti;

printf("“\nTheoriginalstring\n'n"");

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

fun(x,4);

printf("“\nThestringafterdeleted:\n\n"");

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

)

答案:3]

N

0

2

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

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

開,1121231234

23353573579

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

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

ftinclude<math.h>

ftinclude<stdio.h>

doublefun(doubleeps)

{doubles,t;intn=l;

s=0.0;

/************founcl************/

t=0;

while(t>eps)

{s+=t;

t=t*n/(2*n+l);

n++;

)

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

return(s);

)

main()

{doublex;

printf("“\nPleaseentera

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論