实验7数组的应用参考答案.docx
- 文档编号:526477
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:21
- 大小:138.45KB
实验7数组的应用参考答案.docx
《实验7数组的应用参考答案.docx》由会员分享,可在线阅读,更多相关《实验7数组的应用参考答案.docx(21页珍藏版)》请在冰豆网上搜索。
实验7数组的应用参考答案
实验七数组的应用(参考答案)
[实验任务一]:
程序跟踪调试实例7-1:
error7_1.c参考答案
程序跟踪调试实例7-2:
error7_2.c参考答案
[实验任务二]:
程序填空实例7-1:
blank7_1.c参考答案
程序填空实例7-2:
blank7_2.c参考答案
程序填空实例7-3:
blank7_3.c参考答案
程序填空实例7-4:
blank7_4.c参考答案
程序填空实例7-5:
blank7_5.c参考答案
[实验任务三]:
编程实例7-1:
meld.c参考答案
编程实例7-2:
DtoB.c参考答案
编程实例7-3:
match.c参考答案
编程实例7-4:
matrix.c参考答案
编程实例7-5:
rewrite.c参考答案
编程实例7-6:
string.c参考答案
编程实例7-7:
phalanx.c参考答案
编程实例7-8:
yanghui.c参考答案
[实验任务四]:
设计程序实例7-1:
学生成绩统计cjtj.c(一维数组和函数综合编程练习)参考答案
#include
#defineARR_SIZE30
intReadScore(intnum[],floatscore[]);
intGetFail(intnum[],floatscore[],intn);
floatGetAver(floatscore[],intn);
intGetAboveAver(intnum[],floatscore[],intn);
voidGetDetail(floatscore[],intn);
voidmain()
{
intn,num[ARR_SIZE],fail,aboveAver;
floatscore[ARR_SIZE];
printf("Pleaseenternumandscoreuntilscore<0:
\n");
n=ReadScore(num,score);
printf("Totalstudents:
%d\n",n);
fail=GetFail(num,score,n);
printf("Failstudents=%d\n",fail);
aboveAver=GetAboveAver(num,score,n);
printf("Aboveaverstudents=%d\n",aboveAver);
GetDetail(score,n);
}
/*函数功能:
从键盘输入一个班学生某门课的成绩及其学号,当输入成绩为负值时,输入结束
函数参数:
整型数组num,存储学生学号 ;实型数组score,存储学生成绩
函数返回值:
学生总数
*/
intReadScore(intnum[],floatscore[])
{
inti=0;
scanf("%d%f",&num[i],&score[i]);
while(score[i]>=0)
{
i++;
scanf("%d%f",&num[i],&score[i]);
}
returni;
}
/*函数功能:
统计不及格人数并打印不及格学生
函数参数:
整型数组num,存储学生学号
实型数组score,存储学生成绩
整型变量n,学生总数
函数返回值:
不及格人数
*/
intGetFail(intnum[],floatscore[],intn)
{
inti,count;
printf("Fail:
\nnumber--score\n");
count=0;
for(i=0;i { if(score[i]<60) { printf("%d------%.0f\n",num[i],score[i]); count++; } } returncount; } /*函数功能: 计算全班平均分成绩 函数参数: 实型数组score,存储学生成绩 整型变量n,学生总数 函数返回值: 平均分 */ floatGetAver(floatscore[],intn) { inti; floatsum=0; for(i=0;i { sum=sum+score[i]; } returnsum/n; } /*函数功能: 统计成绩在全班平均分及平均分之上的学生人数并打印其学生 函数参数: 整型数组num,存储学生学号 实型数组score,存储学生成绩 整型变量n,学生总数 函数返回值: 成绩在全班平均分及平均分之上的学生人数 */ intGetAboveAver(intnum[],floatscore[],intn) { inti,count; floataver; aver=GetAver(score,n); printf("aver=%f\n",aver); printf("Aboveaver: \nnumber--score\n"); count=0; for(i=0;i { if(score[i]>=aver) { printf("%d------%.0f\n",num[i],score[i]); count++; } } returncount; } /*函数功能: 统计各分数段的学生人数及所占的百分比 函数参数: 实型数组score,存储学生成绩 整型变量n,学生总数 函数返回值: 无 */ voidGetDetail(floatscore[],intn) { inti,j,stu[6]; for(i=0;i<6;i++) { stu[i]=0; } for(i=0;i { if(score[i]<60) { j=0; } else { j=((int)score[i]-50)/10; } stu[j]++; } for(i=0;i<6;i++) { if(i==0) { printf("<60%d%.2f%%\n",stu[i], (float)stu[i]/(float)n*100); } elseif(i==5) { printf("%d%d%.2f%%\n",(i+5)*10,stu[i], (float)stu[i]/(float)n*100); } else { printf("%d--%d%d%.2f%%\n",(i+5)*10,(i+5)*10+9, stu[i],(float)stu[i]/(float)n*100); } } } 程序运行结果如下: Pleaseenternumandscoreuntilscore<0fornomorethan30students: 9901090↙ 9901166↙ 9901278↙ 9901388↙ 9901445↙ 99015100↙ 9901697↙ 9901787↙ 9901876↙ 9901983↙ 99020-1↙ Totalstudents: 10 Fail: number--score 99014-------45 Failstudents=1 aver=81.000000 Aboveaver: number--score 99010------90 99013------88 99015------100 99016------97 99017------87 99020------83 Aboveaverstudents=6 <60110.00% 60-69110.00% 70-79220.00% 80-89330.00% 90-99220.00% 100110.00% 设计程序实例7-2: 成绩排名次cjrank.c(二维数组、函数和常用算法综合编程练习)参考答案 #include #defineSTU30 #defineCOURSE3 voidInput(longnum[],intscore[][COURSE],intn); voidGetSumAver(intscore[][COURSE],intn,intsum[],floataver[]); voidSort(longnum[],intscore[][COURSE],intn,intsum[],floataver[]); voidPrint(longnum[],intscore[][COURSE],intn,intsum[],floataver[]); intSearch(longnum[],intn,longx); main() { intn,score[STU][COURSE],sum[STU],pos; longnum[STU],x; floataver[STU]; printf("Pleaseenterthetotalnumberofthestudents(n<=30): "); scanf("%d",&n);/*输入参加考试的学生人数*/ printf("EnterNo.andscoreas: MTENPH\n"); Input(num,score,n);/*输入学生成绩*/ GetSumAver(score,n,sum,aver);/*计算总分和平均分*/ printf("Beforesort: \n"); Print(num,score,n,sum,aver); Sort(num,score,n,sum,aver);/*排名次*/ printf("Aftersort: \n"); Print(num,score,n,sum,aver); printf("Pleaseentersearchingnumber: "); scanf("%ld",&x);/*以长整型格式输入待查找学生的学号*/ pos=Search(num,n,x);/*名次查寻*/ if(pos! =-1) { printf("position: \tNO\tMT\tEN\tPH\tSUM\tAVER\n"); printf("%8ld\t%4ld\t%4d\t%4d\t%4d\t%5d\t%5.0f\n",pos+1,num[pos], score[pos][0],score[pos][1],score[pos][2], sum[pos],aver[pos]); } else { pri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数组 应用 参考答案