C语言实验报告模板
更新时间:2024-01-02 21:28:01 阅读量: 教育文库 文档下载
C程序设计实验报告
班级 一班 姓名 赵东珠 日期 2014年10月7日星期二 同组人 薛莲 指导教师 刘宝超 评分
一、实验名称:数组应用程序设计实验 二、实验内容(问题描述)
1) 改正下列程序的错误,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值,保留1位小数。 #include
int a[10], av;/* av表示平均值*/ for(i=1; i<=10; i++) scanf(\; for(i=1; i<=10; i++) {
av = av + a[i]; printf(\;
if(i%3==0) printf(\; }
printf(\; }
2) 已有一个已排好序的数组(如{5,12,22,34,45,55,67,78,89,98}),要求输入一个数后,按原来排序的规律将它插入到该数组中,并用二分法查找新插入的数所在位置(下标)。假设:所有的数都互不相同。
3) 按数组初始化方法设置5名学生6门课程成绩(0~100),输出:
(1) 每个学生的平均成绩
(2) 【选作】每门课程的平均成绩
(3) 平均成绩最高的学生序号(有多个最高成绩时,只需输出一个,下同) (4) 【选作】平均成绩最高的课程序号
(5) 【选作】每门课的不及格率(不及格学生数比例) (6) 每个学生各门课成绩升序排序的结果
(7) 【选作】每个学生各课成绩中去掉一个最高分和最低分后的平均成绩
需解决的主要问题: 1)【实验内容1:计算平均值】
1.1) 数组元素的初始化 1.2) 确定数组下标的下限和上限,避免下标溢出 1.3) 平均值如何转换为实型数 2)【实验内容2:插入】 4.1) 插入点的确定
4.2) 插入点之后的数组元素的移动 4.3) 二分查找(一定会成功)
3)【实验内容3:二维数组数据处理】
3.1) 定义数组并初始化 3.2) 求二维数组行平均和列平均 3.3) 最大(最小)值及其序号的调整 3.4) 求二维数组中小于60的元素个数统计 3.5) 数据类型(成绩、平均成绩) 3.6) 问题(6)-(7)的程序框架:
/* N行M列int型二维数组s存放成绩,N:学生人数,M:课程门数 */
/* 长度为N的一位数组avgs存放每个学生各课成绩中去掉一个最高分和最低分后的平均成绩*/
for (i=0; i /* 求s[i][1]~s[i][M-2]的平均值,存放到avgs[i]中 */ } /* 输出 */ for (i=0; i for (j=0; j 三、主要思路(分析过程、算法) 1)实验一: Step1 : float av=0; ; Step4 :for(i=1; i<=10; i++)应改为for(i=0; i<10; i++) ; Step5 :scanf(\;应改为scanf(\; ; Step6 :if(i%3==0)应改为if(i%3==2) ; Step7 :printf(\应改为printf(\ ; 2)实验二: Step1 :输入的这个数插入数组时有三种情况,分别为:①该数小于数组中任何一 个数,插入最前面②该数大于数组中任何一个数,插入最后面③该数介于 数组中相邻两个数之间,插入中间 ; Step2 :先定义一个新的数组a[11],定义变量i,num,k,j,m。i表示数组下标, num表示输入的一个数,k表示数组下标,j表示数组下标。 Step3 :输出数组a[10]中的数据即a[11]中的前十个数据 ; Step4 :输入一个数num ; Step5 :针对输入一个数的第一种情况,将该数插入最前面,同时数组中原来的数 全部向后移一位。执行如下循环: for(i=9;i>=0;i--) { a[i+1]=a[i]; } a[0]=num; Step6 :针对输入一个数的第二种情况,将该数插入最后面,其他数不变。即直接 执行 a[N]=num; Step7 :针对第三种情况,利用for(j=0;j if(a[j] break; } } 找到插入该数字的位置。 Step8 :将插入该数字后后面的数字向后挪一位。 Step9 :插入该数字a[j+1]=num Step10:利用循环输出该数组for(i=0;i printf(\ printf(\ } Step11:用二分法查找下标位置先定义变量并初始化 left=0; right=N; Step12:二分法: while(left<=right) { m=(left+right)/2; if(a[m] left=m; }else if(a[m]>num) { right=m; } else { printf(\的位置是%d\\n\ break; } Step13:考虑到不合法的问题if(left>right) { m=-1; printf(\ } 2)实验三: Step1:首先定义变量i,j,sum,max_i,max_jave,max;定义数组stu_ave_array[5] C_ave_array[6];数组初始化 inta[5][6]={{50,60,70,80,90,95},{68,70,80,90,85,90},{70,80,60,80,90,95},{50, 80,70,48,98,67},{80,80,90,70,68,78}}; Step2:利用循环 for(i=0;i<5;i++) { printf(\ for(j=0;j<6;j++) printf(\ printf(\ } 输出如图所示数组。 Step3:求每名学生的平均成绩 for(i=0;i<5;i++) { sum=0; for(j=0;j<6;j++) { sum=sum+a[i][j]; } ave=(float)sum/6; stu_ave_array[i]=ave; Step4:求每门课程的平均成绩 for(j=0;j<6;j++) { sum=0; for(i=0;i<5;i++) { sum=sum+a[i][j]; } ave=(float)sum/5; C_ave_array[j]=ave; Step5:求平均成绩最高的学生序号 max=stu_ave_array[0]; max_i=0; for(i=0;i<5;i++) { if(stu_ave_array[i]>max) { max=stu_ave_array[i]; max_i=i; } } Step6:求平均成绩最高的课程序号 max=C_ave_array[0]; max_j=0; for(j=0;j<6;j++) { if(C_ave_array[j]>max) { max=C_ave_array[j]; max_j=j; } Step7:求每门课程的不及格率 for(j=0;j<6;j++) { count=0; for(i=0;i<5;i++) { if(a[i][j]<60) count++; } unpass[j]=(float)count/5*100; } Step8:求每名学生各门成绩升序的结果 for(i=0;i<5;i++) { for(j=0;j<6;j++) { for(k=j+1,mi=j;k<6;k++) { if(a[i][k] temp=a[i][mi]; a[i][mi]=a[i][k]; a[i][k]=temp; } } } } Step9:输出升序结果 for(i=0;i<5;i++) { printf(\ for(j=0;j<6;j++) { printf(\ } printf(\ } Step10:求每名学生去掉最低和最高成绩的平均成绩 for(i=0;i<5;i++) { printf(\去掉最低成绩%d,去掉最高成绩%d\\n\ sum=0; for(j=1;j<5;j++) { sum=a[i][j]+sum; } ave=(float)sum/4; printf(\ } 四、核心代码(关键程序段) 2)实验二: int a[N+1]={5,12,22,34,45,55,67,78,89,98}; int i,num,j,k,m; int right,left; for(i=0;i printf(\ } printf(\ printf(\ scanf(\ //printf(\ if(num for(i=N-1;i>=0;i--) { a[i+1]=a[i]; } a[0]=num; }else if(num>a[9]) { a[N]=num; } else { for(j=0;j if(a[j] break; } } for(k=N-1;k>=j+1;k--) { a[k+1]=a[k]; } a[j+1]=num; } for(i=0;i printf(\ printf(\ } left=0; right=N; while(left<=right) { m=(left+right)/2; if(a[m] left=m; }else if(a[m]>num) { right=m; } else { printf(\的位置是%d\\n\ break; } if(left>right) { m=-1; printf(\ } } 3)实验三: int i,j,sum,max_i,max_j; float ave,max; float stu_ave_array[5]; float C_ave_array[6]; inta[5][6]={{50,60,70,80,90,95},{68,70,80,90,85,90},{70,80,60,80,90,95},{50,80,70,48,98,67},{80,80,90,70,68,78}}; printf(\ C1 C2 C3 C4 C5 C6\\n\ printf(\ for(i=0;i<5;i++) { printf(\ for(j=0;j<6;j++) printf(\ printf(\ } printf(\ printf(\每名学生的平均成绩:\\n\ printf(\ for(i=0;i<5;i++) { sum=0; for(j=0;j<6;j++) { sum=sum+a[i][j]; } ave=(float)sum/6; stu_ave_array[i]=ave; printf(\ } printf(\ printf(\每门课程的平均成绩:\\n\ printf(\ for(j=0;j<6;j++) { sum=0; for(i=0;i<5;i++) { sum=sum+a[i][j]; } ave=(float)sum/5; C_ave_array[j]=ave; printf(\ } printf(\ printf(\平均成绩最高的学生序号:\\n\ printf(\ max=stu_ave_array[0]; max_i=0; for(i=0;i<5;i++) { if(stu_ave_array[i]>max) { max=stu_ave_array[i]; max_i=i; } } printf(\平均成绩最高为%.1f,学生序号为%d\\n\ printf(\ printf(\平均成绩最高的课程序号:\\n\ printf(\ max=C_ave_array[0]; max_j=0; for(j=0;j<6;j++) { if(C_ave_array[j]>max) { max=C_ave_array[j]; max_j=j; } // printf(\ } printf(\课程平均成绩最高为%.1f,课程序号为C%d\\n\ */ //******************(5) printf(\ printf(\每门课程的不及格率:\\n\ printf(\ printf(\ C2 C3 C4 C5 C6\\n\ for(j=0;j<6;j++) { count=0; for(i=0;i<5;i++) { if(a[i][j]<60) count++; } unpass[j]=(float)count/5*100; } for(j=0;j<6;j++) printf(\ printf(\ //*******************(6) printf(\ printf(\每名学生各门成绩升序的结果:\\n\ printf(\
正在阅读:
C语言实验报告模板01-02
《动物形态解剖》部分05-17
小学生楷体字帖 - 图文09-09
不同土地使用权对房地产估价的影响06-25
房管局无房证明03-31
组合逻辑电路单元测试题01-05
看焦裕禄电影观后感1000字(个人篇)04-02
计算题 - 光电检测技术期末整理12-06
18级主轴箱毕业设计05-13
网络故障检测与排除期末复习07-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 模板
- 语言
- 实验
- 报告
- 政治会考知识点 政治
- 南京市城市设计导则
- 建筑工程安全防护、文明施工措施项目清单及费用计算参考表
- 第12章无机结合料稳定路面
- 《声音是怎样产生的》教案
- 螺纹连接练习题资料
- 三全食品上市公司负债经营分析
- SAP PP-SAP生产订单状态变更测试手册
- EF-010-R01 课程顾问劳动合同样本
- 《民主崩溃的政治学》读后感
- 如何做个会说话的人(深度好文)
- 预防医学试题
- 英语写作万能范文模板
- 工作计划之制定学习计划表格
- 新人美版四年级上册美术教案
- 630导线放线施工方案 - 图文
- 微机原理课程设计报告(程序)
- unit6 - 新标准大学英语 - 视听说 - 综合教程 - 网上作业 - 答案
- 2015年考研英语模拟试题
- 有害化学物质含量规定