版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——C语言苏小红第五版十三章试验题答案
C语言苏小红第五版十三章试验题答案
#includestdio.h
#includestring.h
#includestdlib.h
#defineN30
#defineMAX_LEN10
#defineM3
typedefstructstudent
{
longstudentID;
charstudentName[10];
intscore[3];
}STUDENT;
voidInputScore(STUDENTstu[],intn);
voidSumforCorse(STUDENTstu[],intn,floatsumcorse[],floatavercorse[]);
voidSumforStudent(STUDENTstu[],intn,floatsumstudent[],floataverstudent[]);
voidDateScore(STUDENTstu[],intn,int(*compare)(inta,intb));
voidDateNum(STUDENTstu[],intn);
voidDateName(STUDENTstu[],intn);
intLinSearch(STUDENTstu[],longx,intn);
intLinSearchname(STUDENTstu[],charname[],intn);
voidRateScore(STUDENTstu[],intn);
voidPrintfScoreNum(STUDENTstu[],intn,floatsumcorse[],floatavercorse[]);
voidPrintf(STUDENTstu[],intn);
voidSwapnum(long*a,long*b);
voidSwapsum(int*a,int*b);
voidSwapscore(int*a,int*b);
intAscending(inta,intb);
intDescending(inta,intb);
voidWritetoFile(STUDENTstu[],intn);
intReadfromFILE(STUDENTstu[]);
main()
{intn,m,pos=0,i;
longx=0;
floatavercorse[3]={0},averstudent[N]={0},sumcorse[3]={0},sumstudent[N]={0};
charname[MAX_LEN];
STUDENTstu[N];
printf(howmanystudent?);
scanf(%d,n);
InputScore(stu,n);
printf(计算每门课程的总分和平均分输入1\n);
printf(计算每个学生的总分和平均分输入2\n);
printf(按每个学生的总分由高到低输入3\n);
printf(依照每个学生的总分由低到高输入4\n);
printf(学号有小到大排出成绩表输入5\n);
printf(按姓名在字典中的排序输入6\n);
printf(按学号查询学生排名及各科考试成绩比输入7\n);
printf(按姓名查询学生排名及各科考试成绩比输入8\n);
printf(按成绩百分比输入9\n);
printf(输出每个学生的学号姓名各科考试成绩总分平均分及每门课程的总分平均分输入10\n);
printf(将学生信息写入文件输入11:\n);
printf(从文件中读取学生信息输入12:\n);
scanf(%d,m);
switch(m)
{
case1:
SumforCorse(stu,n,sumcorse,avercorse);
break;
case2:
SumforStudent(stu,n,sumstudent,averstudent);
break;
case3:
DateScore(stu,n,Descending);
Printf(stu,n);
break;
case4:
DateScore(stu,n,Ascending);
Printf(stu,n);
break;
case5:
DateNum(stu,n);
Printf(stu,n);
break;
case6:
DateName(stu,n);
Printf(stu,n);
break;
case7:
{intj;
DateScore(stu,n,Descending);
printf(inputthenumberyouwanttosearch:);
scanf(%ld,x);
pos=LinSearch(stu,x,n);
if(pos!=-1)
printf(MT\tEN\tPH\t:\n);
for(j=0;j3;j++)
{
printf(%d\t,stu[pos].score[j]);
}
printf(第%d名\n,pos+1);
break;
}
case8:
{intj;
DateScore(stu,n,Descending);
printf(inputthenameyouwanttosearch:\n);
scanf(%s,name);
pos=LinSearchname(stu,name,n);
if(pos!=-1)
printf(MT\tEN\tPH\t:\n);
for(j=0;j3;j++)
{printf(%d\t,stu[pos].score[j]);}
}
printf(第%d名\n,pos+1);
break;
C语言苏小红第五版十三章试验题答案
case9:
RateScore(stu,n);
break;
case10:
PrintfScoreNum(stu,n,sumcorse,avercorse);
break;
case11:
WritetoFile(stu,n);
break;
case12:
i=ReadfromFILE(stu);
Printf(stu,i);
break;
}
}
voidInputScore(STUDENTstu[],intn)
{
inti,j,m=3;
for(i=0;in;i++)
{
printf(inputthe%dstudentIDnamescore(MTENPH):,i+1);
scanf(%ld,stu[i].studentID);
scanf(%s,stu[i].studentName);
for(j=0;jm;j++)
{
scanf(%d,stu[i].score[j]);
}
}
}
voidSumforCorse(STUDENTstu[],intn,floatsumcorse[],floatavercorse[])
{
inti,j;
for(j=0;j3;j++)
{
for(i=0;in;i++)
{
sumcorse[j]=sumcorse[j]+stu[i].score[j];
}
avercorse[j]=sumcorse[j]/n;
switch(j)
{
case0:
printf(theMTtotleMT:%f\n,sumcorse[j]);
printf(theMTaverMT:%f\n,avercorse[j]);
break;
case1:
printf(theENtotleEN:%f\n,sumcorse[j]);
printf(theENaverEN:%f\n,avercorse[j]);
break;
case2:
printf(thePHtotlePH:%f\n,sumcorse[j]);
printf(thePHaverPH:%f\n,avercorse[j]);
break;
}
}
}
voidSumforStudent(STUDENTstu[],intn,floatsumstudent[],floataverstudent[])
{
inti,j;
for(i=0;in;i++)
{
for(j=0;j3;j++)
{
sumstudent[i]=sumstudent[i]+stu[i].score[j];
}
averstudent[i]=sumstudent[i]/3;
printf(第%d个thetotlescoreandaverageis%f%f\n,i+1,sumstudent[i],averstudent[i]);
}
}
voidDateScore(STUDENTstu[],intn,int(*compare)(inta,intb))
{inti,j,k,m,t,sumstudent[N];
chartemp[MAX_LEN];
for(i=0;in;i++)
{
for(j=0;j3;j++)
{
sumstudent[i]=sumstudent[i]+stu[i].score[j];
}
}
for(t=0;tn-1;t++)
{
k=t;
for(m=t+1;mn;m++)
{
if((*compare)(sumstudent[k],sumstudent[m]))
{
k=m;
}
if(k!=t)
{
Swapsum(sumstudent[t],sumstudent[k]);
Swapnum(stu[t].studentID,stu[k].studentID);
Swapscore(stu[t].score,stu[k].score);
strcpy(temp,stu[t].studentName);
strcpy(stu[t].studentName,stu[k].studentName);
strcpy(stu[k].studentName,temp);
}
}
}
}
voidSwapsum(int*a,int*b)
{inttemp;
temp=*a;
*a=*b;
*b=temp;
}
voidSwapnum(long*a,long*b)
{
longtemp;
temp=*a;
*a=*b;
*b=temp;
}
voidSwapscore(int*a,int*b)
{
inttemp[M],i;
for(i=0;i3;i++)
{temp[i]=a[i];
a[i]=b[i];
b[i]=temp[i];
}
}
intAscending(inta,intb)
{
returnab;
}
intDescending(inta,intb)
{
returnab;
}
voidDateNum(STUDENTstu[],intn)
{
inti,j,k;
chartemp[MAX_LEN];
for(i=0;in-1;i++)
{
k=i;
for(j=i+1;jn;j++)
{
if(stu[j].studentIDstu[k].studentID)
{k=j;
}
if(k!=i)
{
Swapnum(stu[i].studentID,stu[k].studentID);
Swapscore(stu[k].score,stu[i].score);
strcpy(temp,stu[i].studentName);
strcpy(stu[i].studentName,stu[k].studentName);
strcpy(stu[k].studentName,temp);
}
}
}
}
voidDateName(STUDENTstu[],intn)
{
inti,j,k;
chartemp[MAX_L
EN];
for(i=0;in;i++)
{
k=i;
for(j=i+1;jn;j++)
{if(strcmp(stu[k].studentName,stu[j].studentName)0)
{
Swapnum(stu[i].stude
C语言苏小红第五版十三章试验题答案
ntID,stu[k].studentID);
Swapscore(stu[i].score,stu[k].score);
strcpy(temp,stu[i].studentName);
strcpy(stu[i].studentName,stu[k].studentName);
strcpy(stu[k].studentName,temp);
}
}
}
}
intLinSearch(STUDENTstu[],longx,intn)
{
inti;
for(i=0;in;i++)
{
if(stu[i].studentID==x)
returni;
}
return-1;
}
intLinSearchname(STUDENTstu[],charname[],intn)
{
inti;
for(i=0;in;i++)
{
if(strcmp(name,stu[i].studentName)==0)
returni;
}
return-1;
}
voidRateScore(STUDENTstu[],intn)
{
inti,a,b,c,d,e,j;
staticfloatrate1,rate2,rate3,rate4,rate5;
for(j=0;j3;j++)
{
a=0;b=0;c=0;d=0;e=0;
for(i=0;in;i++)
{if(stu[i].score[j]=90stu[i].score[j]=100)
{a++;
}
if(stu[i].score[j]=80stu[i].score[j]90)
{b++;
}
if(stu[i].score[j]=70stu[i].score[j]80)
{c++;
}
if(stu[i].score[j]=60stu[i].score[j]70)
{d++;
}
if(stu[i].score[j]=0stu[i].score[j]60)
{e++;
}
rate1=(float)a/n;
rate2=(float)b/n;
rate3=(float)c/n;
rate4=(float)d/n;
rate5=(float)e/n;
}
switch(j)
{
case0:
printf(MTis:\n);
printf(优秀:%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);
break;
case1:
printf(ENis:\n);
printf(优秀:%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);
break;
case2:
printf(PHis:\n);
printf(优秀:%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);
break;
}
}
}
voidPrintfScoreNum(STUDENTstu[],intn,floatsumcorse[],floatavercorse[])
{
inti,j,k;
for(i=0;in;i++)
{
printf(%ld,stu[i].studentID);
puts(stu[i].studentName);
printf(thescoreMT\tEN\tPH\t\n:);
for(j=0;j3;j++)
{
printf(%d\t,stu[i].score[j]);
}
printf(\n);
}
for(j=0;j3;j++)
{
for(i=0;in;i++)
{
sumcorse[j]=sumcorse[j]+stu[i].score[j];
}
avercorse[j]=sumcorse[j]/n;
}
for(k=0;k3;k++)
{
printf(thesumandaveris%f%f\n,sumcorse[k],avercorse[k]);
}
}
voidPrintf(STUDENTstu[],intn)
{
inti,j;
for(i=0;in;i++)
{
printf(%ld\n,stu[i].s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度肉鸡养殖委托代养与冷链物流服务合同
- 二零二五年度中式餐厅餐饮店铺租赁合同
- 2025年度餐馆员工劳动合同与劳动争议调解合同
- 二零二五年度数据中心设备维修保养合同
- 2025年度医疗机构管理人员聘用与责任合同
- 2025年度汽车运输货物保险理赔合同
- 2025年度茶园认养与茶叶品牌国际化推广合同
- 2025年度私人诊所医护人员聘用及医疗服务质量提升合同
- 2025年度新型货款欠款合同模板
- 偏瘫患者跌倒的预防及防范
- 2024年安全教育培训试题附完整答案(夺冠系列)
- 化学-山东省潍坊市、临沂市2024-2025学年度2025届高三上学期期末质量检测试题和答案
- 领导学 课件全套 孙健 第1-9章 领导要素- 领导力开发
- 2025新译林版英语七年级下单词默写表
- 2024年私募基金争议解决研究报告之一:私募基金管理人谨慎勤勉义务之边界探析-国枫研究院
- 物业客服服务技巧培训
- 环卫设施设备更新实施方案
- 招聘技巧的培训
- 北师大版一年级上册数学全册教案(教学设计)及教学反思
- 福建省公路水运工程试验检测费用参考指标
- 节假日临时活动保安服务方案
评论
0/150
提交评论