C語言第五版蘇小紅 第10章試驗(yàn)題_第1頁
C語言第五版蘇小紅 第10章試驗(yàn)題_第2頁
C語言第五版蘇小紅 第10章試驗(yàn)題_第3頁
C語言第五版蘇小紅 第10章試驗(yàn)題_第4頁
C語言第五版蘇小紅 第10章試驗(yàn)題_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——C語言第五版蘇小紅第10章試驗(yàn)題

#includestdio.h

#includestring.h

#defineN30

#defineMAX_LEN10

#defineM3

intReadScore(intscore[][M],longnum[],charName[][MAX_LEN]);

voidSumforCorse(intscore[][M],intn);

voidDateScore(intscore[][M],intnum[],intn,int(*compare)(inta,intb),charName[][MAX_LEN]);

voidDateNum(intscore[][M],intnum[],intn,long(*compare)(longa,longb),charName[][MAX_LEN]);

voidDateName(charStr[][MAX_LEN],intn,intscore[],longnum[]);

intAscending(inta,intb);

intDescending(inta,intb);

longAscendinge(longa,longb);

longDescendinge(longa,longb);

intLinSearch(longnum[],longx,intn);

intLinSearchname(charName[][MAX_LEN],charname[],intn);

voidRateScore(intscore[][M],intn);

voidPrintfScoreNum(intscore[][M],longnum[],intn,charName[][MAX_LEN]);

voidSwap(int*a,int*b);

longSwape(long*a,long*b);

main()

{

intscore[N][M],n,m,pos=0;

longnum[N],x=0;

charName[N][MAX_LEN],name[MAX_LEN];

n=ReadScore(score,num,Name);

printf(thetotlestudentsis%d\n,n);

printf(計(jì)算總分和平均分輸入1\n);

printf(成績由低到高排有名次表輸入2\n);

printf(成績由高到低排有名次表輸入3\n);

printf(學(xué)號有小到大排出成績表輸入4\n);

printf(學(xué)號有大到小排出成績表輸入5\n);

printf(按學(xué)號查詢成績輸入6\n);

printf(按類別統(tǒng)計(jì)百分比輸入7\n);

printf(輸出學(xué)好成績總分和平均分輸入8\n);

printf(按姓名在字典中的排序輸入9\n);

printf(按姓名查找輸入10\n);

scanf(%d,m);

switch(m)

{

case1:

SumforCorse(score,n);

break;

case2:

{

DateScore(score,num,n,Ascending,Name);

PrintfScoreNum(score,num,n,Name);

break;

}

case3:

{

DateScore(score,num,n,Descending,Name);

PrintfScoreNum(score,num,n,Name);

break;

}

case4:

{

DateNum(score,num,n,Ascendinge,Name);

PrintfScoreNum(score,num,n,Name);

break;}

case5:

{

DateNum(score,num,n,Descendinge,Name);

PrintfScoreNum(score,num,n,Name);

break;}

case6:

{printf(inputthenumberyouwanttosearch:);

scanf(%ld,x);

pos=LinSearch(num,x,n);

if(pos!=-1)

printf(score=%d,第%d名\n,score[pos],pos+1);

break;}

case7:

RateScore(score,n);

break;

case8:

{

PrintfScoreNum(score,num,n,Name);

SumforCorse(score,n);

break;}

case9:

{DateName(Name,n,score,num);

PrintfScoreNum(score,num,n,Name);}

case10:

{

DateScore(score,num,n,Descending,Name);

printf(inputthenameyouwanttosearch:\n);

scanf(%s,name);

pos=LinSearchname(Name,name,n);

if(pos!=-1)

printf(score=%d,第%d名\n,score[pos],pos+1);

break;

}

}

}

intReadScore(intscore[][M],longnum[],charName[][MAX_LEN])

{

inti=-1;

do{

i++;

printf(Inputstudents'ID:\n);

scanf(%ld,num[i]);

printf(inputthescoreofMTENPH:);

for(j=0;j3;j++)

{scanf(%d,score[i][j]);

}

getchar();

printf(inputthename:\n);

gets(Name[i]);

}while(num[i]0score[i]0);

returni;

}

voidSumforCors

e(intscore[][M],intn)

{

inti=-1,sum=0;

floataver=0.0;

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

{

for(j=0;j3;j++)

{

sum=sum+score[i][j];

}

}

printf(thetotlescoreis:%d\n,sum);

aver=(float)sum/n;

printf(theaverageofscoreis:%f\n,aver);

}

voidDateScore(intscore[][M],intnum[],intn,int(*compare)(inta,intb),charName[][MAX_LEN])

{

inti,j,k;

chartemp[MAX_LEN];

for(i=0;in-1;i++)

{

k=i;

for(j=i+1;jn;j++)

{

if((*compare)(score[j],score[k]))

{k=j;

}

if(k!=i)

{

Swape(num[i],num[k]);

Swap(score[i],score[k]);

strcpy(temp,Name[k]);

strcpy(Name[k],Name[i]);

strcpy(Name[i],temp);

}

}

}

}

voidDateNum(intscore[][M],intnum[],intn,long(*compare)(longa,longb),charName[][MAX_LEN])

{

inti,j,k;

chartemp[MAX_LEN];

for(i=0;in-1;i++)

{

k=i;

for(j=i+1;jn;j++)

{

if((*compare)(num[j],num[k]))

{k=j;

}

if(k!=i)

{

Swape(num[i],num[k]);

Swap(score[i],score[k]);

strcpy(temp,Name[k]);

strcpy(Name[k],Name[i]);

strcpy(Name[i],temp);

}

}

}

}

intAscending(inta,intb)

{

returnab;

}

intDescending(inta,intb)

{

returnab;

}

longAscendinge(longa,longb)

{

returnab;

}

longDescendinge(longa,longb)

{

returnab;

}

intLinSearch(longnum[],longx,intn)

{

inti;

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

{

if(num[i]==x)

returni;

}

return-1;

}

voidRateScore(intscore[][M],intn)

{

inti,a=0,b=0,c=0,d=0,e=0;

staticfloatrate1,rate2,rate3,rate4,rate5;

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

{if(score[i]=90score[i]=100)

{a++;

}

if(score[i]=80score[i]90)

{b++;

}

if(score[i]=70score[i]80)

{c++;

}

if(score[i]=60score[i]70)

{d++;

}

if(score[i]=0score[i]60)

{e++;

}

}

rate1=(float)a/n;

rate2=(float)b/n;

rate3=(float)c/n;

rate4=(float)d/n;

rate5=(float)e/n;

printf(優(yōu)秀:%d所占百分比:%f\n,a,rate1);

printf(良好:%d所占百分比:%f\n,b,rate2);

printf(中等:%d所占百分比:%f\n,c,rate3);

printf(及格:%d所占百分比:%f\n,d,rate4);

printf(不及格:%d所占百分比:%f\n,e,rate5);

}

voidPrintfScoreNum(intscore[][M],longnum[],intn,charName[][MAX_LEN])

{

inti;

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

{

printf(%ld,num[i]);

printf(%d\n,score[i]);

puts(Name[i]);

}

}

voidSwap(int*a,int*b)

{inttemp;

temp=*a;

*a=*b;

*b=temp;

}

longSwape(long*a,long*b)

{

longtemp;

temp=*a;

*a=*b;

*b=temp;

return0;

}

voidDateName(charStr[][MAX_LEN],intn,intscore[][M],longnum[])

{

inti,j,temp1,temp2;

chartemp[MAX_LEN];

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

{

for(j=i+1;jn;j++)

{if(strcmp(Str[i],Str[j])0)

{

strcpy(temp,Str[i]);

strcpy(Str[i],Str[j]);

strcpy(S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論