版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 頭發(fā)用刷產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 冰茶匙市場發(fā)展預(yù)測和趨勢分析
- 頭發(fā)用漂白劑產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 學(xué)習(xí)布萊爾盲文用積木市場需求與消費(fèi)特點(diǎn)分析
- 人教版英語八年級下冊 Unit 1 單元復(fù)習(xí)
- 半導(dǎo)體收音機(jī)產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 截石鉗產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 兒童自行車用輪胎市場需求與消費(fèi)特點(diǎn)分析
- 高一數(shù)學(xué)說課稿10篇
- 城市電力與通信管道施工方案
- 基于核心素養(yǎng)初中數(shù)學(xué)跨學(xué)科教學(xué)融合策略
- 200TEU 長江集裝箱船設(shè)計(jì)
- 智慧能源管理平臺建設(shè)項(xiàng)目解決方案
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 2024年高中語文學(xué)業(yè)水平過關(guān)測試四-名句名篇默寫積累過關(guān)訓(xùn)練(全國通用)學(xué)生版
- 內(nèi)蒙古的特色美食
- 招投標(biāo)-招投標(biāo)管理
- 醫(yī)學(xué)類-教學(xué)查房異位妊娠(宮外孕)
- 售后工程師熱水系統(tǒng)維護(hù)培訓(xùn)
- 項(xiàng)目管理機(jī)構(gòu)及人員配備表
- 眼視光技術(shù)職業(yè)生涯規(guī)劃大賽
評論
0/150
提交評論