版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為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(成績(jī)由低到高排有名次表輸入2\n);
printf(成績(jī)由高到低排有名次表輸入3\n);
printf(學(xué)號(hào)有小到大排出成績(jī)表輸入4\n);
printf(學(xué)號(hào)有大到小排出成績(jī)表輸入5\n);
printf(按學(xué)號(hào)查詢成績(jī)輸入6\n);
printf(按類別統(tǒng)計(jì)百分比輸入7\n);
printf(輸出學(xué)好成績(jī)總分和平均分輸入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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯施工安全協(xié)議書
- 合伙買房協(xié)議書范本
- 土方運(yùn)輸居間合同范本
- 圍墻倒塌賠償協(xié)議書
- 小商鋪?zhàn)赓U合同
- 參展合同協(xié)議書范本
- 單位住房借款合同標(biāo)準(zhǔn)范本
- 水電暖工程勞務(wù)合同樣本
- 二零二五年度行政單位合同范本:行政單位臨時(shí)聘用合同模板6篇
- 污水泵更換施工方案
- 北師大版物理九年級(jí)全一冊(cè)課件
- 2024年第三師圖木舒克市市場(chǎng)監(jiān)督管理局招錄2人《行政職業(yè)能力測(cè)驗(yàn)》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 屋面細(xì)石混凝土保護(hù)層施工方案及方法
- 新概念英語課件NCE3-lesson15(共34張)
- GB/T 3683-2023橡膠軟管及軟管組合件油基或水基流體適用的鋼絲編織增強(qiáng)液壓型規(guī)范
- 電視劇《瑯琊榜》特色分析
- 5A+Chapter+1+Changes+at+home+課件(新思維小學(xué)英語)
- 安徽省2023年中考數(shù)學(xué)試卷(附答案)
- 工程承接施工能力說明
評(píng)論
0/150
提交評(píng)論