2023年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題題庫(kù)超值100題 (一)_第1頁(yè)
2023年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題題庫(kù)超值100題 (一)_第2頁(yè)
2023年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題題庫(kù)超值100題 (一)_第3頁(yè)
2023年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題題庫(kù)超值100題 (一)_第4頁(yè)
2023年計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題題庫(kù)超值100題 (一)_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題題庫(kù)(超值100題)

1:第1題m個(gè)人的成績(jī)寄存在score數(shù)組中,請(qǐng)編寫(xiě)函數(shù)fun,它口勺功能是:將

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

中c

答案:

intfun(intscore[],intmzintbelow[])

(

intizk=0zaver=0;

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

aver+=score[i];

aver/=m;

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

if(scorc[i]<avcr)

{

below[k]=score[i];

k++;

}

returnk;

}

2:第2題請(qǐng)編寫(xiě)函數(shù)fun,它口勺功能是:求出1到100之內(nèi)能北7或者11整

除,但不能同步北7和11整除的所有證書(shū),并將他們放在a所指的數(shù)組中,通

過(guò)n返回這些數(shù)的個(gè)數(shù)。

答案:

voidfun(int*a,int*n)

{

intij=0;

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

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

a[j++]=i;

*n=j;

)

3:第3題請(qǐng)編寫(xiě)函數(shù)voidfun(intx,intpp口,int*n),它/、J功能是:求出能整除x

且不是偶數(shù)H勺各整數(shù),并按從小到大的次序放在pp所指的數(shù)組中,這些除數(shù)的

個(gè)數(shù)通過(guò)形參n返回。

答案:

voidfun(intxzintpp[],int*n)

inti=l,j=O;k=Oz*t=pp;

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

if(i%2!=0)

{

t[j]=I;

j++;

)

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

if(x%t[i]==O)

{

pp[k]=t[i];

k十十;

}

*n=k;

)

4:第4題請(qǐng)編寫(xiě)一種函數(shù)voidfun(char*tt,intpp口),記錄在tt字符中“a”到

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

答案:

voidfun(char*tt,intpp[])

{

inti;

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

PP[i]=0;

while(*tt)

{

switch(*tt)

{

case'a':pp[0]++;break;

case'bz:pp[l]++;break;

case'c':pp[2]++;break;

cased:pp[3]++;break;

case'e':pp[4]++;break;

case'f:pp[5]++;break;

case'g':pp[6]++;break;

case'hz:pp[7]++;break;

case'iz:pp[8]++;break;

case'jz:pp[9]++;break;

case'kz:pp[10]++;break;

case'K:pp[ll]++;break;

case'm7:pp[12]++;break;

case'n':pp[12]++;break;

case'o':pp[14]++;break;

case'p':pp[15]++;break;

case'q':pp[16]++;break;

case'「:pp[17]++;break;

case's':pp[18]++;break;

caseY:pp[19]++;break;

case'u':pp[20]++;break;

case'vz:pp[21]++;break;

case'w':pp[22]++;break;

case'x':pp[23]++;break;

case'y':pp[24]++;break;

case'z':pp[25]++;break;

)

tt++;

}

}

5:第5題請(qǐng)編寫(xiě)一種函數(shù)voidfun(intm,intk,intxx口),該函數(shù)的功能是:將不

小于整數(shù)m且緊靠mH勺k各素?cái)?shù)存入xx所指的數(shù)組中。

答案:

voidfun(intm,intk,intxx[])

{

intg=O,I,j,flag=l;

for(i=m+l;i<m*m;i++)

{

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

(

if(i%j!=O)

flag=l;

else

(

flag=O;

break;

}

}

if(flag==l&&j>=i)

(

if(k>=0)

{

xx[g++]=i;

k--;

}

else

break;

}

}

)

6:第6題請(qǐng)編寫(xiě)一種函數(shù)voidfun(chara口,char口,intn),其功能是:刪除以各

字符串中指定下標(biāo)H勺字符,其中,a指向原字符串,刪除后的I字符串寄存在b所

指時(shí)數(shù)組中,n中寄存指定的下標(biāo)。

答案:

voidfun(chara[],charb[]zintn)

intIj=0;

for(i=0;i<LEN;i+4-)

if(i!=n)

{

bU]=a[i];

j++;

}

疝='\0。

}

7:第7題請(qǐng)編寫(xiě)一種函數(shù)inifun(inl*>iniI,ini*k),用來(lái)求除數(shù)組時(shí)最大元素

在數(shù)組中H勺下標(biāo)并寄存在k所指的儲(chǔ)存單元中。

答案:

voidfun(int*szintt,int*k)

(

intI,max;

max=s[0];

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

if(s[i]>max)

(

max=s[i];

*k=I;

}

)

8:第8題編寫(xiě)函數(shù)fun,功能是:根據(jù)如下攻勢(shì)計(jì)算s,計(jì)算成果作為函數(shù)值返Pl;

n通過(guò)形參傳入。S=l+l/(l+2)+l/(l+2+3)+.……+1/(1+2+3+4+……+n)

答案:

floatfun(intn)

{

inti;

floats=1.0,t=1.0;

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

(

t=t+i;

s=s+l/t;

}

returns;

}

9:第9題編寫(xiě)一種函數(shù)fun,它的J功能是:根據(jù)如下公式求p的值,成果由函

數(shù)值帶回。M與n為兩個(gè)正整數(shù),且規(guī)定m>n。p=m!/n!(m-n)!

答案:

floatfun(intm,intn)

{

floatp,t=1.0;

intI;

for(i=l;i<=m;i4-+)

P=t;

for(t=1.0zi=l;i<=n;i++)

p=p/t;

for(t=1.0,i=l;i<=m-n;i++)

p=p/t;

returnp;

}

10:第10題編寫(xiě)函數(shù)fun,它H勺功能是:運(yùn)用如下的簡(jiǎn)樸迭代措施求方程

cos(x)-x=009一種實(shí)根。

迭代步驟如下:⑴取xl初值為0.0;(2)x0=xl,把xl的值賦各x0;

(3)xl=cos(x0),求出一種新的xl;

(4)若xO-xl的絕對(duì)值不不小于0,000001,則執(zhí)行步驟(5),否則執(zhí)行步驟(2);

(5)所求xl就是方程cos(x)-x=0口勺一種實(shí)根,作為函數(shù)值返回。

程序?qū)⑤敵鰎oot=0.739085o

答案:

floatfun()

(

floatxl=0.0,x0;

do

(

x0=xl;

xl=cos(x0);

}

while(fabs(xO-xl)>le-6);

returnxl;

}

11:第11題下列程序定義了nxn?、J二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編

寫(xiě)函數(shù)fun(inta[][n]),該函數(shù)的功能是:使數(shù)組左下半三角元素中的值全部置成

Oo

答案:

intfun(inta[][N])

{

intIj;

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

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

a[i]U]=O;

)

12:第12題下列程序定義了nxn的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫(xiě)函

數(shù)fun,函數(shù)H勺功能使求出數(shù)組周?chē)氐钠骄挡⒆鳛楹瘮?shù)值返回給主函數(shù)中

的s。

答案:

doublefun(intw[][N])

{

intI,jzk=O;

doubles=0.0;

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

{

s+=w[0][j];

k++;

}

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

{

s+=w[N-l][j];

k++;

)

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

s+=w[i][0];

k++;

}

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

{

s+=w[i][N-l];

k++;

)

returns/=k;

}

13:第13題請(qǐng)編寫(xiě)一種函數(shù)voidfun(inttt[m][n],intpp[n]),tt指向一種m行n

列的二維函數(shù)組,求出二維函數(shù)組每列中最小元素,并依次放入pp所指定一維

數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。

答案:

voidfun(inttt[M][N]zintpp[N])

(

intIzjzmin;

for0=O;j<N;j++)

min=tt[O][j];

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

(

if(tt[i][j]vmin)

min=tt[i][j];

}

pp[j]=min;

}

}

14:第14題請(qǐng)別寫(xiě)函數(shù)fun,函數(shù)H勺功能使求出二維數(shù)組周?chē)刂停鳛楹?/p>

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

答案:

intfun(inta[M][N])

{

intIzj,s=O;

forQ=0;j<N;j++)

s+=a[O]U];

s+=a[M-l][j];

}

for(i=l;i<=M-2;i++)

{

s+=a[i][O];

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

)

returns;

}

15:第15題請(qǐng)編寫(xiě)一種函數(shù)unsignedfun(unsignedw),w使一種不小于10H勺

無(wú)符號(hào)整數(shù),若w使n(n22)位的整數(shù),則函數(shù)求出w后n—1位的數(shù)作為函數(shù)

值返回。

答案:

unsignedfun(unsignedw)

(

unsignedt,s=0zsl=lzp=0;

t=w;

while(t>10)

if(t/10)

p=t%10;

s=s+p*sl;

sl=sl*10;

t=t/10;

)

returns;

}

16:第16題請(qǐng)編寫(xiě)一種函數(shù)floatfun(doubleh),函數(shù)的功能使對(duì)變量h中H勺值

保留2位小樹(shù),并對(duì)第三位進(jìn)行四舍五入(規(guī)定h中H勺值位正數(shù))。

答案:

floatfun(floath)

{

longt;

floats;

h=h*1000;

t=(h+5)/10;

s=(float)t/100.0;

returns;

}

17:第17題請(qǐng)編寫(xiě)一種函數(shù)fun(char*s),該函數(shù)的功能使把字符串中H勺內(nèi)容

擬置。

答案:

voidfun(char*s)

{

charch;

intI,m,n;

i=0;

m=n=strlen(s)-l;

while(i<(n+l)/2)

{

ch=s[i];

s[i]=s[m];

s[m]=ch;

i++;

m-;

}

}

18:第18題編寫(xiě)程序,實(shí)現(xiàn)矩陣(3行3歹iJ)H勺轉(zhuǎn)置(用行列互換)。

答案:

voidfun(intarray[3][3])

{

intI,j,temp;

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

for0=O;j<I,j++)

(

temp=array[i][j];

array[i][j]=array[j][i];

array[j][i]=temp;

)

)

19:第19題編寫(xiě)函數(shù)fun,該函數(shù)H勺功能是:從字符中刪除指定的字符,同一字

母的大、小寫(xiě)按不一樣字符處理。

答案:

voidfun(chars[]zintc)

{

inti=0;

char*p;

P=s;

while(*p)

{

if(*p!=c)

(

s[i]=*P;

i++;

}

P++;

}

s[i]=\Oz;

}

20:第20題編寫(xiě)函數(shù)intfun(intlim,intaa[max]),該函數(shù)於J功能是求出不不小

于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回所求的素?cái)?shù)口勺個(gè)數(shù)。

答案:

intfun(intlim,intaa[MAX])

(

intk=0,I,j;

for(i=lim;i>l;i-)

{

for(j=2;jvi;j++)

if(j%j==0)

break;

else

continue;

if(j>=i)

{

aa[k]=i;

k++;

}

}

returnk++;

}

21:第21題請(qǐng)編寫(xiě)函數(shù)fun,對(duì)長(zhǎng)度位7個(gè)字符的字符串,除首尾字符外,將其

他5個(gè)字符按ascii碼降序排列。

答案:

voidfun(char*szintnum)

{

chart;

intIzj;

for(i=l;i<num-2;i++)

forG=i+l;j<num-l;j++)

if(s[i]<sQ])

{

t=s[i];

s[i]=s[j];

sU]=t;

}

}

22:第22題n名學(xué)生的成績(jī)已在主函數(shù)中放入一種帶頭節(jié)點(diǎn)H勺鏈表構(gòu)造中,h

指向鏈表H勺頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:找出學(xué)生的最高分,由函數(shù)

值返回。

答案:

doublefun(STREC*h)

{

doublemax;

STREC*q=h;

max=h->s;

do

(

if(q->s>max)

max=q->s;

q=q->next;

}

while(q!=0);

returnmax;

}

23:第23題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:判斷字符串與否為回文?若是

則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中輸出no?;匚氖侵疙?/p>

讀和倒讀都是一樣時(shí)字符串。

答案:

intfun(char*str)

{

intI,n=O;fg=l;

char*p=str;

while(*p)

{

n++;

P++;

)

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

if(str[i]==str[n-l-i]);

else

fg=O;

break;

}

returnfg;

}

24:第24題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能是:將一種字符串轉(zhuǎn)換為一種整數(shù)

(不得調(diào)用c語(yǔ)言提供H勺將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。

答案:

longfun(char*p)

(

longs=Ozt;

inti=Ozj,n=strlen(p)zkzsl;

if(p[O]=='-z)

i++;

for(j=I;j<=n-l;j++)

t=pU]-'Oz;

sl=10;

for(k=j;k<n-l;k++)

t*=sl;

s+=t;

}

if(p[O]==-/)

return-s;

else

returns;

}

25:第25題請(qǐng)編寫(xiě)一種函數(shù)fun,它日勺功能是:比較兩個(gè)字符串的長(zhǎng)度,(不得

調(diào)用c語(yǔ)言提供時(shí)求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)時(shí)字符串。若兩個(gè)字符

串長(zhǎng)度相似,則返回第一種字符串。

答案:

char*fun(char*szchar*t)

(

char*pz*tl=tz*sl=s;

intn=O;m=O;

while(*sl)

n++;

sl++;

}

while(*tl)

{

m++;

tl++;

}

if(n>=m)

P=s;

else

P=t;

returnp;

}

第26題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能是:根據(jù)如下公式求x的值(規(guī)定滿(mǎn)足

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

x/2=1+1/3+1x2/3x54-1x2x3/3x5x7+1x2x3x4/3x5x7x9+...+Ix2x3x...x

n/3x5x7x(2n+l)

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

答案:

doublefun(doubleeps)

{

doubles;

floatn,t,pi;

t=l;pi=0;n=1.0;s=1.0;

while((fabs(s))>=eps)

{

pi+=s;

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

s*=t;

n++;

}

pi=pi*2;

returnpi;

)

27:第27題請(qǐng)編寫(xiě)一種函數(shù)fun,它口勺功能是:求除1到m之內(nèi)(含m)能北7

或11整除的所有整數(shù)放在數(shù)組a中,通過(guò)n返回這些數(shù)H勺個(gè)數(shù)。

答案:

voidfun(intm,int*a,int*n)

{

intIj=0;*n=0;

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

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

{

aU]=I;

j++;

}

*n=j;

)

28:第28題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大

的值和它所在H勺下標(biāo),最大的I值和它所在H勺下標(biāo)通過(guò)形參傳回。數(shù)組元素中H勺值

已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中口勺數(shù)據(jù)個(gè)數(shù),max寄存最

大值,index寄存最大值所在元素的下標(biāo)。

答案:

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

intI;

*max=a[0];

*d=O;

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

if(a[i]>*max)

{

*max=a[i];

*d=I;

}

}

29:第29題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能是:將ss所指字符串中所有下標(biāo)為

奇數(shù)位置切勺字母轉(zhuǎn)換為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。

答案:

voidfun(char*ss)

intI,n;

n=strlen(ss);

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

if(ss[i]>='a/&&ss[i]V='z)

ss[i]=ss[i]-32;

}

30:第30題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能是:求除一種2xm整型二維數(shù)組

中最大元素口勺值,并將此值返回調(diào)用函數(shù)。

答案:

intfun(inta[][M])

{

intI,j,max;

max=a[0][0];

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

forO=0;j<M;j++)

if(a[i][j]>max)

max=a[i][j];

returnmax;

}

31:第31題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為偶數(shù)、

同步ascii值也為偶數(shù)的字符外,其他的全都刪除;串中剩余字符所形成的一種

新串放在t所指H勺一種數(shù)組中。

答案:

voidfun(char*s,chart[])

{

intI,j=Ozn;

n=strlen(s);

for(i=0;I,n;i++)

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

(

tU]=s[i];

j++;

}

)

32:第32題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為奇數(shù)、

同步ascii值也為奇數(shù)口勺字符之外,其他的所有字符都刪除,串中剩余字符所形

成R勺一種新串放在t所指R、J一種數(shù)組中。

答案:

voidfun(char*szchart[])

{

intI,j=O,n;

n=strlen(s);

for(i=0;Izn;i++)

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

{

tU]=s[i];

j++;

t[j]w

}

33:第33題假定輸入的字符串中只包括字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功

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

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

答案:

voidfun(char*a,intn)

{

inti=0;k=0;

char*p,*t;

P=t=a;

while(*t)

t++;

t-;

while(*t=='*z)

{

k++;

t-;

}

t++;

if(k>n)

while(*p&&p<t+n)

a[i]=*P;

i++;

p++;

}

a[i]='\Oz;

}

)

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

構(gòu)造體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它口勺功能使:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在h

所指的數(shù)組中,注意:分?jǐn)?shù)最高H勺學(xué)生可能不止一種,函數(shù)返回分?jǐn)?shù)最高H勺學(xué)生

的人數(shù)。

答案:

intfun(STREC*a,STREC*b)

{

intIzj=O,n=Ozmax;

max=a[O].s;

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

if(a[i].s>max)

max=a[i].s;

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

if(a[i].s==max)

{

*(b+j)=a[i];

j++;

n++;

}

returnn;

}

35:第35題請(qǐng)編寫(xiě)一種函數(shù),用來(lái)刪除字符串中的所有空格。

答案:

voidfun(char*str)

{

inti=0;

char*p=str;

while(*p)

if(*p!=w)

str[i]=*p;

i++;

}

P++;

)

str[i]='\O/;

}

36:第36題假定輸入的字符串中只包括字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功

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

答案:

voidfun(char*a)

{

inti=0,n=0;

char*p;

P=a;

while(*p=='*9

n++;

p++;

}

while(*p)

{

a[i]=*p;

i++;

P++;

)

while(n!=O)

{

a[i]=*z;

i十十;

n-;

)

a[i]='\Of;

)

37:第37題某學(xué)生的記錄由學(xué)號(hào)、8門(mén)課程成績(jī)和平均分構(gòu)成,學(xué)號(hào)和8門(mén)課

程的成績(jī)已在主函數(shù)中給出。請(qǐng)編寫(xiě)函數(shù)fun,它口勺功能是:求出該學(xué)生的平均

分放在記錄H勺ave組員中。請(qǐng)自己定義對(duì)於JR勺形參。

答案:

voidfun(STREC*p)

{

doubleav=0.0;

inti:

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

av+=p->s[i];

av/=N;

p->ave=av;

)

38:第38題請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:求出ss所指字符串中指定字符日勺個(gè)

數(shù),并返回此值。

答案:

intfun(char*ss,charc)

intn=0;

while(*ss)

(

if(*ss==c)

n++;

ss++;

)

returnn;

}

39:第39題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)H勺功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)

組中由n個(gè)整數(shù),規(guī)定把下標(biāo)從0到p(p不不小于等于n—1)的數(shù)組元素平移到

數(shù)組時(shí)最終。

答案:

voidfun(int*w,intp,intn)

(

intb[N],i,j=0;

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

b[i]=w[i];

j++;

}

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

{

wU]=b[i];

j++;

}

}

40:第40題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的I功能是移動(dòng)字符串中內(nèi)容,移動(dòng)H勺規(guī)則

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

移到字符串的前部。

答案:

voidfun(char*wzintm)

(

charb[N];

intIj=0;

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

bU]=w[i];

j++;

}

for(i=O;i<strlen(w)-m;i++)

w[i]=w[i+m];

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

{

w[i]=b[j];

i++;

}

)

41:第41題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)日勺功能是:將m6n列『、J二維數(shù)組中日勺字

符數(shù)據(jù),按列H勺次序依次放到一種字符串中。

答案:

voidfun(char(*s)[n],char*b)

{inti,j,k=O;

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

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

{b[k]=*(*(s+i)+j)

k++;}

b[k]=、\(r;}

42:第42題下列程序定義了nxn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編

寫(xiě)函數(shù)fun(inta[][n]zintn),該函數(shù)口勺功能是:將數(shù)組右上半三角元素中口勺值乘以

m。

答案:

voidfun(inta[][n]zintm)

{inti,j;

forG=0;j<n;j++)

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

aU]=aU]*m;}

43:第43題編寫(xiě)一種函數(shù),從傳入的num個(gè)字符串中找出一種最長(zhǎng)的一種字

符串,并通過(guò)形參指針max傳回該串地址(用****作為結(jié)束輸入的標(biāo)志)。

答案:

char*fun(char(*a)[81]zintnum)

{inti;

char*max;

max=a[O];

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

if(strlen(max)<strlen(a))

max=a;

returnmax;}

44:第44題編寫(xiě)一種函數(shù),該函數(shù)可以記錄一種長(zhǎng)度為2的字符串在另一種字

符串中出現(xiàn)H勺次數(shù)。

答案:

intfun(char*str,char*substr)

{intn;

char*pz*r;

n=0;

while(*str)

{P=str;

r=substr;

while(*r)

if(*r==*p)

{r++;

P++;}

else

break;

if(*r=='\Oz)

n++;

str++;}

returnn;}

45:第45題假定輸入的字符串中只包括字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功

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

出了字符串H勺長(zhǎng)度,形參h給出了字符串中前導(dǎo)*號(hào)H勺個(gè)數(shù),形參e給出了字符

串中最終日勺*個(gè)數(shù)。在編寫(xiě)時(shí)不得使用c語(yǔ)言給提供得字符串函數(shù)。

答案:

voidfun(char*a,intnzinthjnte)

{inti=0;

char*p;

for(p=a+h;p<a+n-e;p++)

{*(a+i)=*p;

i++;}

*(a+i)='\O';}

46:第46題學(xué)生得記錄由學(xué)號(hào)和成績(jī)組稱(chēng)個(gè),n名大學(xué)生得數(shù)據(jù)已在主函數(shù)中

放入構(gòu)造體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能時(shí):按分?jǐn)?shù)的高下排列學(xué)生H勺

記錄,高分在前。

答案:

voidfun(streca[])

{intij;

strect;

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

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

if(a.s<a[j].s)

{t=a;

a=aU];

aU]=t;}}

47:第47題請(qǐng)編寫(xiě)一種函數(shù)voidfun(cha「*ss),其功能時(shí):將字符串ss中所

有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(xiě)(若位置上不是字母,則不轉(zhuǎn)換)。

答案:

voidfun(char*ss)

{intizn=0;

char*p=ss;

while(*p)

{n++;

P++;}

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

if((ss='a/&ss<='z")&i%2;=0)

ss=ss-32;

ss='\0,;)

48:第48題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)口勺正整數(shù)a,b合并成一

種整數(shù)放在c中。合并的方式是:將a數(shù)歐I十位和個(gè)位依次放在c數(shù)的千位和十

位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)H勺百位和個(gè)位上。

答案:

voidfun(inta,intbjong*c)

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

49:第49題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中下標(biāo)位偶數(shù)同步ascii

值為奇數(shù)H勺字符刪除,s中剩余H勺字符形成的新串放在t所指的數(shù)組中。

答案:

voidfun(char*szchart[])

{intij=Ozn=strlen(s);

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

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

else

{fU]=s;

j++;)

?]=\0z;}

50:第50題已知學(xué)生的記錄是由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,n名學(xué)生的數(shù)據(jù)已存入

a機(jī)構(gòu)體數(shù)組中。請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:找出成績(jī)最高H勺學(xué)生記錄,

通過(guò)形參返回主函數(shù)(規(guī)定只有一種最高分)。

答案:

voidfun(stua[]zstu*s)

{inti,max;

max=a[0].s;

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

if(a.s>max)

{max=a.s;

*s=a;}}

第51題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將所有不小于1不不小于整數(shù)m的J非素

數(shù)存入xx所指的數(shù)組中,非索數(shù)的個(gè)數(shù)通過(guò)k傳回。

答案:

voidfun(intmzint*kzintxx口)

{intizj;

intt=0;

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

{j=2;

while0<i)

{jf(i%j==O)

{xx[t]=i;

t++;

break;}

j++;)

*k=t;}}

52:第52題編寫(xiě)一種函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不使用庫(kù)

函數(shù)strcat),即把p2所指的字符串連接到pl所指的字符串后。

答案:

voidfun(charpl口,charp2[])

{inti=0zn=0;

char*p=pl,*q=p2;

while(*p)

{p++;

n++;)

i=n;

while(*p)

{pi=*q;

q++;

i++;}

P1='\O';}

53:第53題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能是:實(shí)現(xiàn)b=a+a,即把矩陣a加上a

的轉(zhuǎn)置,寄存在矩陣b「3計(jì)算成果在main函數(shù)中輸出。

答案:

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

{intizj,at[3][3];

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

for(j=0;jv=2;j++)

atO]=a[j];

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

forQ=0;j<3;j++)

bU]=aU]+atD];}

54:第54題學(xué)生的記錄由學(xué)號(hào)和成績(jī)組稱(chēng)個(gè),n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放

入構(gòu)造體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它H勺功能是:把詆于平均分H勺學(xué)生數(shù)據(jù)放

在b所指口勺數(shù)組中,低于立均分的學(xué)生人數(shù)通過(guò)形參n傳回,平均分通過(guò)函數(shù)值

返回。

答案:

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

{doubleaver=0.0;

inti,j=0;

*n=0;

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

aver+=a.s;

aver/=n;

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

if(a.s<aver)

{bU]=a;

(*n)++;

計(jì)十;}

returnaver;}

55:第55題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)口勺功能是:將m吁n列的二維數(shù)組中口勺數(shù)

據(jù),按行的次序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)寄存在形參n所指

的儲(chǔ)存單元中。

答案:

voidfun(int(*s)[10],int*b,int*nzintmmjntnn)

{inti,j;

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

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

{b[*n]=*(*(s+i)+j);

*n=*n+l;}}

56:第56題假定輸入的字符串中只包括字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功

能是:除了尾部的*號(hào)之外,將字母串中其他*號(hào)全部刪除。形參p己指向字符

串中最終的一種字母。不使用cH勺字符串函數(shù)。

答案:

voidfun(char*azchar*p)

{inti=0;

char*p=a;

while(q<=p)

{if(*q!='*")

{a=*q;

i++;}

q++;>

while(*q)

{a=*q;

i++;

q++;}

a='\Oz;}

57:第57題學(xué)生的記錄是由學(xué)號(hào)和成績(jī)構(gòu)成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放

入構(gòu)造體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它口勺功能是:把指定分?jǐn)?shù)范圍內(nèi)口勺學(xué)生數(shù)

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

答案:

intfun(strec*a,strec*bzintIJnth)

{inti,j=O;

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

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

{bU]=a;

j++;}

returnj;}

58:第58題編寫(xiě)函數(shù)藏服那,它的功能是:求n以?xún)?nèi)(不包括n)同步能被3與

7整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。

答案:

doublefun(intn)

{doubles=0.0;

inti;

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

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

s=s+i;

s=sqrt(s);

returns;}

59:第59題請(qǐng)別寫(xiě)函數(shù)fun,該函數(shù)的功能是:將放在字符串?dāng)?shù)組中日勺m個(gè)字

符串(每串H勺長(zhǎng)度不超過(guò)n),按次序合并構(gòu)成一種新的字符串。

答案:

voidfun(chara[m][n]zchar*b)

{inti,j,k=O;

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

{for(j=0;j<n;j++)

if(*(*(a+i)+j))

{b[k]=*(*(a+i)+j)

k++;}

else

break;

b[k]='\O";}}

60:第60題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)口勺功能是:刪去一維數(shù)組中所有相似口勺數(shù),

使之只剩一種。數(shù)組中的數(shù)已按由小到大H勺次序排列,函數(shù)返回刪除后數(shù)組中數(shù)

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

答案:

intfun(inta[]zintn)

{inti,tJ=0z*p=a;

t=p[0];

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

if(t==p)

else

{aU]=t;

t=P;

j++;)

if(i>=n)

aQ]=t;

returnj;}

61:第61題第請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能使:記錄各年齡段的人數(shù)。N個(gè)

年齡通過(guò)調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中;規(guī)定函數(shù)把。至9

歲年齡段H勺人數(shù)放在d[0]中,把10至19歲年齡段的人數(shù)放在d[l]中,把20至

29歲的人數(shù)放在仇2]中,其他以此類(lèi)推,把100歲(含100以上年齡U勺人數(shù)都放

在d[io]中。成果在主函數(shù)中輸出。

答案:

voidfun(int*a,int*b)

{inti,j;

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

bU]=O;

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

if(a>=0&a<=9)

b[O]+=l;

elseif(a>=10&a<=19)

b[l]+=l;

elseif(a>=20&a<=29)

b[2]+=l;

elseif(a>=30&a<=39)

b[3]+=l;

elseif(a>=40&a<=49)

b[4]+=l;

elseif(a>=50&a<=59)

b[5]+=l;

elseif(a>=60&a<=69)

b[6]+=l;

elseif(a>=70&a<=79)

b[7]+=l;

elseif(a>=80&a<=89)

b[8]+=l;

elseif(a>=90&a<=99)

b[9]+=l;

else

b[10]+=l;}

62:第62題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)H勺功能是:統(tǒng)一一含字符串中單詞H勺個(gè)數(shù),

作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫(xiě)字母構(gòu)成,

單詞之間由若干個(gè)空格格開(kāi),一行時(shí)開(kāi)始沒(méi)有空格。

答案:

intfun(char*s)

{intizn=O;

for(i=0;i<strlen(s);i++)

{if(s='a/&s<='z,&s[i+l]==w

IIs[i+l]=='\Oz)

n++;)

returnn;}

63:第63題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能是:計(jì)算并輸出給定整數(shù)n的所有

因子(不包括1與自身)之和。規(guī)定nH勺值不不小于1003。

答案:

intfun(intn)

{ints=O,i;

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

if(n%i==O)

s+=i;

returns;}

64:第64題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中ascii值為奇數(shù)口勺字

符刪除,串中剩余字符形成一種新串放在t所指H勺數(shù)組中。

答案:

voidfun(char*szchart[])

{inti,j=O,n;

n=strlen(s);

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

if(s%2==0)

(tU]=s;

j++;)

65:第65題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩位數(shù)口勺正整數(shù)a、b合并成一種

整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)

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

答案:

voidfun(inta,intb,long*c)

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

66:第66題假定輸入的字符串中只包括字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功

能是:刪除字符串中所有*號(hào)。在編寫(xiě)函數(shù)時(shí),不得使用c語(yǔ)言提供的字符串函

數(shù)。

答案:

voidfun(char*a)

{inti=0;char*p=a;

while(*p)

{if(*p!='*9

{a=*P;

i++;}

P++;}

a='\Oz;}

67:第67題學(xué)生的記錄時(shí)由學(xué)號(hào)和成績(jī)構(gòu)成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放

入構(gòu)造體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能時(shí):函數(shù)返回指定學(xué)號(hào)H勺學(xué)生數(shù)

據(jù),指定日勺學(xué)號(hào)在主函數(shù)中輸入。若沒(méi)找到指定學(xué)號(hào),在構(gòu)造體變量中給學(xué)號(hào)置

空串,給成績(jī)置-1,作為函數(shù)值返回(用于字符串比較H勺函數(shù)時(shí)strcmp)。

答案:

strecfun(strec*,char*b)

{inti;

strech;

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

if(strcmp(a.num,b)==0)

{h=a;

break;}

else

{h.num=="";

h.s=-l;}

returnh;}

68:第68題請(qǐng)編寫(xiě)函數(shù)fun,其功能時(shí):計(jì)算并輸出卜.列多項(xiàng)式的值:

sn=l+l/l!+l/2!+l/3!+l/4!+...+l/n!

答案:

sn=l+l/l!+l/2!+l/3!+l/4!+...+l/n!

doublefun(intn)

{doubletzsn=1.0;

intizj;

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

{t=i.o;

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

t*j;

sn+=1.0/t;}

returnsn;}

69:第69題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能時(shí):求Fibonacci數(shù)列中不小于t

的最小H勺一種數(shù),成果由函數(shù)返回。其中fibonacci數(shù)列f(n)H勺定義為:

f(0)=0zf(l)=l,f(n)=f(n-l)+f(n-2)

答案:

f(0)=0zf(l)=lzf(n)=f(n-l)+f(n-2)

intfun(intt)

{inta=l,b=l,c=O,i;

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

{if(c<t)

{c=a+b;

a=b;

b=c;}

else

break;}

returnc;}

70:第70題編寫(xiě)函數(shù)fun,它的功能時(shí):計(jì)算并輸出下列級(jí)數(shù)和:

s=l/l*2+l/2*3+...+l/n(n+l)

答案:

doublefun(intn)

{doubles=0.0;

inti;

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

s=s+1.0/(i*(i+l));

returns;}

71:第71題請(qǐng)編寫(xiě)函數(shù)fun,其功能時(shí):將兩個(gè)兩位數(shù)日勺正整數(shù)a、b合并形

成一種整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)H勺十

位和千位上,b的十位和個(gè)位整數(shù)依次放在c數(shù)口勺百位和個(gè)位上。

答案:

voidfun(inta,intb,long*c)

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

72:第72題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中下標(biāo)為偶數(shù)H勺字符

刪除,串中剩余字符形成新串放在t所指數(shù)組中。

答案:

voidfun(char*s,chart[])

{intij=O,n=strlen(s);

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

if(i%2!=0)

{tU]=s;

j++;}

t[j]='\O';}

73:第73題假定輸入時(shí)字符串中只包括字母和*號(hào),請(qǐng)編寫(xiě)函數(shù)fun,它叫功

能是:除了字符串前導(dǎo)和尾部的*號(hào)之外,將串中其他*號(hào)全部刪除。形參h已

指向字符串第一種字符,形參p已指向字符串中最終一種字母。在編寫(xiě)程序時(shí),

不得使用c語(yǔ)言提供H勺字符串函數(shù)。

答案:

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

{inti=0;

char*q=a;

while(q<h)

{a=*q;

q++;

i++;}

while(q<p)

{if(*q!=、‘*)

{a=*q;

i++;}

q++;}

while(*q)

{a=*q;

i++;

q++;}

a='\0';}

74:第74題學(xué)生的記錄日學(xué)號(hào)和成績(jī)構(gòu)成n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入構(gòu)

造體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它H勺功能時(shí):把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在h所

指的數(shù)組中,注意:分?jǐn)?shù)最低的學(xué)生可能不止一-種,函數(shù)返回分?jǐn)?shù)最低的學(xué)生口勺

人數(shù)。

答案:

intfun(strec*a,strec*b)

{inti/j=O/n=Ozmin;

min=a[O].s;

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

if(a.s<min)

min=a.s;

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

if(a.s==min)

{*(b+j)=a;

j++;

n++;}

returnn;}

75:第75題請(qǐng)編寫(xiě)函數(shù)fun,該函數(shù)的功能:將m行n列H勺二維數(shù)組中的數(shù)

據(jù),按列口勺順學(xué)依次放到一維數(shù)組中。

答案:

voidfun(int(*s)[]10,int*bjnt*n,intmmjntnn)

{intij;

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

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

{b[*n]=*(*(s+i)+j);

*n=*n+1;}}第76題請(qǐng)編寫(xiě)函數(shù)fun,其功能時(shí):計(jì)算并輸出當(dāng)xv0.97時(shí)下列

多項(xiàng)式H勺值,直到Isn-s(n-l)I<0.000001為止。

Sn=l+0.5x+0.5(0.5-l)/2!x(2)+...+0.5(0.5-l)(0.5-2).….(0.5-n+l)/n!x(n)

答案:

.doublefun(doublex)

{doublesl=L0,p=1.0,sum=0.0,s0,t=1.0;

intn=l;

do

{sO=sl;

sum+=sO;

t*=n;

p*=(0.5-n-i-l)*x;

sl=p/t;

n++;}while(fabs(sl-s0)>le-6);

returnsum;}

77:第77題請(qǐng)編寫(xiě)一種函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)日勺正整數(shù)ab合并

形成一種整數(shù)放在c中。合并方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)H勺個(gè)

位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)口勺十位和千位上。

答案:

voidfun(intajntbjong*c)

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

78:第78題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將s所指字符串中ascii值為偶數(shù)H勺字

符刪除,串中剩余字符形成一種新串放在t所指的數(shù)組中。

答案:

voidfun(char*szchart[])

{intij=O,n=strlen(s);

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

if(s%2!=0)

{tU]=s;

j++;)

79:第79題已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,n名學(xué)生H勺數(shù)據(jù)已存入a

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

通過(guò)形參返回主函數(shù)(規(guī)定只有一種最低分)。

答案:

voidfun(stua[]zstu*s)

{intizmin;

min=a[0].s;

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

if(a.s<min)

{min=a.s;

*s=a;}}

80:第80題程序定義了nxn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函

數(shù)fun,該函數(shù)的功能是:使數(shù)組左下半三角元素中口勺值乘以no

答案:

fun(inta[][n],intn)

{intij;

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

forQ=0;j<=i;j++)

aU]=aU]*n;}

81:第81題請(qǐng)編寫(xiě)函數(shù)fun,其功能使:將兩個(gè)兩位正整數(shù)ab合并形成一種

整數(shù)放在c中。合并的方式使:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)

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

答案:

voidfun(inta,intbjong*c)

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

82:第82題請(qǐng)編寫(xiě)一種函數(shù)fun,它的功能使:計(jì)算n門(mén)課程H勺平均分,計(jì)算

成果作為函數(shù)值返回。

答案:

floatfun(float*a,intn)

{floatave=0.0;

inti;

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

ave+=a;

ave/=n;

returnave;}

83:第83題假定輸入的字符串中只包括字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功

能使:將字符串尾部的*號(hào)全部刪除,前面和中間H勺*號(hào)不刪除。

答案:

voidfun(char*a)

{inti=0;

char*p,*q;

p=q=a;

while(*p)

p++;

P-;

while(*p=='*9

P-;

while(q<=p)

{a=*q;

i十十;

q++;}

a='\0z;}

84:第84題請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)H勺正整數(shù)ab合并形成

一種整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c的個(gè)位和

百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)H勺千位和十位上。

答案:

voidfun(inta,intbjong*c)

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

85:第85題n名學(xué)生時(shí)成績(jī)已在主函數(shù)中放入一種帶頭節(jié)點(diǎn)日勺鏈表構(gòu)造中,h

指向鏈表H勺頭節(jié)點(diǎn)。請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。

答案:

doublefun(strec*h)

{doubleaver=0.0;

while(h!=null)

{aver+=h->s;

hy=h->next;}

aver/=n;

returnaver;}

86:第86題請(qǐng)編寫(xiě)函數(shù)fun,計(jì)算并輸出給定10個(gè)數(shù)的方差。

答案:

doublefun(doublex[10])

{inti,j;

doubles=0.0zsl=0.0;

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

sl+=x;

sl/=10;

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

s+=(x[j]-sl)*(x[j]-sl);

s/=10;

s=pow(s,0.5);

returns;}

87:笫87題請(qǐng)編寫(xiě)函數(shù)「un,其功能是:將兩個(gè)兩位數(shù)目勺正整數(shù)db合并形成

一種整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在C數(shù)H勺千

位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)日勺個(gè)位和百位.匕

答案:

voidfun(inta,intb,long*c)

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

88:第88題假定輸入的字符串中只包括字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,它的功

能是:除了字符串前導(dǎo)的*號(hào)之外,將串中其他*號(hào)全部刪除。在編寫(xiě)函數(shù)亞時(shí),

不得使用c語(yǔ)言提供H勺字符串函數(shù)。

答案:

voidfun(char*a)

{inti=0;

char*p=a;

while(*p&&*p=='*9

{a=*p;

i++;

P++;}

while(*p)

{if(*p!='*z)

{a=*P;

i++;}

P++;}

a='\0z;}

89:第89題學(xué)牛H、J記錄是由學(xué)號(hào)和成績(jī)構(gòu)成,n名學(xué)生的數(shù)據(jù)已在主函數(shù)中放

入構(gòu)造體數(shù)組s中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:把高于等于平均分H勺學(xué)生數(shù)

據(jù)放在b所指H勺數(shù)組中,高于等于平均分H勺學(xué)生人數(shù)通過(guò)形參n傳回,平均分通

過(guò)函數(shù)值返回。

答案:

doublefun(strec*azstrec*b,int*n)

{doubleaver=0.0;

int

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論