欢迎来到天天文库
浏览记录
ID:35232892
大小:829.00 KB
页数:7页
时间:2019-03-22
《用户自己建立数据类型实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、嘉应学院计算机学院实验报告课程名称程序设计基础实验名称实验地点指导老师实验时间提交时间班级姓名座号一、实验目的和要求1、掌握结构体类型变量的定义和使用。2、掌握结构体类型数组的概念和应用。3、了解链表的概念和操作方法。二、实验环境和方法实验方法:(一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。(二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。(三)根据实验内容,编译程序。实验环境:WindowsxpVisualC++6.0三、实验内容及过程描述实验内容:编译以下题目的程序并调试运行
2、。1、有5个学生,每个学生的数据包括学号、姓名、3门课成绩。从键盘输入5个学生数据,要求输出3门课程平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分)。2、13个人围城一圈,从第1个人开始顺序报号1、2、3.凡报到“3”者退出圈子,找出最后留在圈子中的人原来的号。要求用链表实现。3、建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。实验步骤:①进入VisualC++6.0集成环境。②输入自己编好的程序。③检查一遍已输入的程序是否有错(包括输入
3、时输错的和编程中的错误),如发现有错,及时改正。④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正确,应运行多次,分别检查在不同情况下结果是否正确。以下是各题源代码:1、有5个学生,每个学生的数据包括学号、姓名、3门课成绩。从键盘输入5个学生数据,要求输出3门课程平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分)。#include4、dio.h>structStudent{intnum;charname[10];floatscore[3];floattotal;floatave;}stu[10];intmain(){voidinput(structStudentstu[]);voidmax(structStudentstu[]);voidprint(structStudentstu[]);input(stu);print(stu);max(stu);return0;}voidinput(structStudentstu[]){inti,j;for(i=0;i<105、;i++){printf("请输入第%d位学生信息:",i+1);printf("学号:");scanf("%d",&stu[i].num);printf("姓名:");scanf("%s",stu[i].name);for(j=0;j<3;j++){printf("第%d门成绩:",j+1);scanf("%f",&stu[i].score[j]);}printf("");stu[i].total=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2]);stu[i].ave=stu6、[i].total/3;}}voidprint(structStudentstu[]){inti,j;printf("*******************所有学生成绩************************");printf("学号t姓名t第一门第二门第三门总分平均分");for(i=0;i<10;i++){printf("NO.%dt%st",stu[i].num,stu[i].name);for(j=0;j<3;j++){printf("%8.2f",stu[i].score[j]);}printf(7、"%8.2f%8.2f",stu[i].total,stu[i].ave);}}voidmax(structStudentstu[]){inti,j,M=0;for(i=0;i<10;i++){if(stu[i].total>stu[M].total)M=i;}printf("****************成绩最高的学生******************");printf("学号t姓名t第一门第二门第三门总分平均分");printf("NO.%dt%st",stu[M].num,stu[M].name);for8、(j=0;j<3;j++){printf("%8.2f",stu[M].score[j]);}printf("%8.2f%8.2ft",stu[M].total,stu[M].ave);}printf("*****
4、dio.h>structStudent{intnum;charname[10];floatscore[3];floattotal;floatave;}stu[10];intmain(){voidinput(structStudentstu[]);voidmax(structStudentstu[]);voidprint(structStudentstu[]);input(stu);print(stu);max(stu);return0;}voidinput(structStudentstu[]){inti,j;for(i=0;i<10
5、;i++){printf("请输入第%d位学生信息:",i+1);printf("学号:");scanf("%d",&stu[i].num);printf("姓名:");scanf("%s",stu[i].name);for(j=0;j<3;j++){printf("第%d门成绩:",j+1);scanf("%f",&stu[i].score[j]);}printf("");stu[i].total=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2]);stu[i].ave=stu
6、[i].total/3;}}voidprint(structStudentstu[]){inti,j;printf("*******************所有学生成绩************************");printf("学号t姓名t第一门第二门第三门总分平均分");for(i=0;i<10;i++){printf("NO.%dt%st",stu[i].num,stu[i].name);for(j=0;j<3;j++){printf("%8.2f",stu[i].score[j]);}printf(
7、"%8.2f%8.2f",stu[i].total,stu[i].ave);}}voidmax(structStudentstu[]){inti,j,M=0;for(i=0;i<10;i++){if(stu[i].total>stu[M].total)M=i;}printf("****************成绩最高的学生******************");printf("学号t姓名t第一门第二门第三门总分平均分");printf("NO.%dt%st",stu[M].num,stu[M].name);for
8、(j=0;j<3;j++){printf("%8.2f",stu[M].score[j]);}printf("%8.2f%8.2ft",stu[M].total,stu[M].ave);}printf("*****
此文档下载收益归作者所有