




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 数组程序设计(一)一、实验目的1. 掌握一维数组的定义及初始化。2. 掌握一维数组元素的引用及其应用。二、实验内容1目的掌握一维数组的定义、初始化和输出方法。 题目内容已知有一组测量数据,x0=32,x1=27,x2=64,x3=18,x4=95,x5=14,x6=90,x7=70,x8=60,x9=37,编写程序,将这组数据保存在数组x中,并输出。输入无输出如下形式:序号 测量值0 321 272 643 184 955 146 907 708 609 37提示定义一维数组x,并初始化;利用for循环语句输出数组中的每个元素。2目的掌握一维数组的定义、输入和输出方法。 题目内容 某班同学检查身体,身高测量的结果如下:1.65,1.90,1.81,1.55,1.56,1.70,1.72,1.65,1.69,1.75,1.73,1.85,1.74,1.71,1.60,1.50,1.68,1.73,1.72,1.80。编写程序,从键盘将这组数据输入到数组中保存,并输出;然后,求出这些同学身高的最大值和最小值以及平均值,并输出。(数据保留2位小数)输入某班同学身高测量输出 某班同学身高测量,身高的最大值和最小值以及平均值。提示定义一维数组,利用for循环语句从键盘逐个输入身高数据、输出数组中的每个元素;定义最大值、最小值、平均值变量,利用for循环语句求数组元素中的最大值、最小值、和值,再求出平均值;利用printf输出结果。#include void main() float x20;int i; float max,min,sum,ave; for(i=0;i20;i+) scanf(%f,&xi);for(i=0;i20;i+) printf(%.2ft,xi); max=x0;min=x0;sum=x0; for(i=1;i20;i+) if(maxxi) min=xi; sum=sum+xi; ave=sum/20; printf(n%.2fn%.2fn%.2fn,max,min,ave);3目的应用所学知识解决实际问题。 题目内容 数值的分布范围。一份计算机市场调查报告显示,市场上PC机的售价不同:6500,4990,5500,7200,6810,5700,5660,6900,5850,6250。编写程序,计算平均售价以及价格范围。(数据保留2位小数)输入 市场上PC机的售价输出 平均售价、价格范围提示分布范围是对一系列数值进行统计分析的方法之一。分布范围是指该系列数值中最大值与最小值之差。即分布范围=最大值-最小值。#include void main()int i,x10,max,min,sum,range; float ave; printf(n请输入售价:n);for(i=0;i10;i+)scanf(%d,&xi);for(i=0;i10;i+) printf(%d ,xi);printf(n);max=min=sum=x0;for(i=1;imax) max=xi;if(ximin) min=xi;sum=sum+xi;range=max-min;ave=sum/10.0;printf(ave=%ftrange=%dn,ave,range);*4目的应用所学知识解决实际问题。 题目内容 某电子公司制造4种产品。某天中的库存拥有为:代码 数量 价格 代码 数量 价格1 275 575.00 3 321 215.502 107 99.95 4 89 725.00编写程序,输出如下格式的库存报表:库存报表-代码 数量 价格 金额- - 总金额:- 输入 库存原始数据代码、数据、价格输出 库存报表提示设计代码数组、数量数组、价格数组、金额数组以及总金额变量。#include #define SIZE 4void main()int i,dmSIZE,slSIZE;float jgSIZE,jeSIZE,total=0;for(i=0;iSIZE;i+) printf(n请输入第%d组 代码 数量 价格:n,i);scanf(%d%d%f,&dmi,&sli,&jgi);for(i=0;iSIZE;i+)jei=sli*jgi;for(i=0;iSIZE;i+) total=total+jei;printf(n);for(i=0;i42;i+)printf(%c,-);printf(n);printf(代码t数量t价格tt金额n);for(i=0;i42;i+)printf(%c,-);printf(n); for(i=0;iSIZE;i+) printf(%dt%dt%.2ftt%.2fn,dmi,sli,jgi,jei); for(i=0;i23;i+)printf(%c, ); for(i=0;i19;i+)printf(%c,-);printf(n); printf(ttt总金额:%.2fn,total);for(i=0;i42;i+)printf(%c,-);printf(n);5目的应用所学知识解决实际问题。 题目内容 柱状图。某公司员工分为5组,每组人数分别为:12、23、35、20、11。编写程序,绘制一个柱状图来显示每组的大小。输入 员工分组人数输出 柱状图提示利用一维数组存储员工人数。#include #define SIZE 5void main()int i,j,ygSIZE;for(i=0;iSIZE;i+) printf(n请输入第%d组员工数:n,i);scanf(%d,&ygi);printf(n);for(j=0;jSIZE;j+)printf(%d |,j);for(i=0;iygj;i+) printf(%c,*);printf(n);6目的应用所学知识解决实际问题。 题目内容 标准偏差的计算。在统计学中,标准偏差用来计算数据与其平均数的偏差。计算n项的标准偏差公式如下:,其中,且, 编写程序,计算一组数据65、9、27、78、12、20、33、49的标准偏差。输入 一组数据输出 该组数据的标准偏差提示利用一维数组存储原始数据。计算标准偏差的算法:(1)读取一组数据;(2)计算该组数据的平均值;(3)计算方差;(4)计算标准偏差;#include #include #define SIZE 8void main()int i,shujuSIZE,sum=0;double ave,sum1=0,fc,s;for(i=0;iSIZE;i+) printf(n请输入第%d个数据:n,i);scanf(%d,&shujui);for(i=0;iSIZE;i+) sum=sum+shujui;ave=sum/SIZE;sum=0; for(i=0;iSIZE;i+) sum1=sum1+(shujui-ave)*(shujui-ave);fc=sum1/SIZE; s=sqrt(fc); for(i=0;iSIZE;i+) printf(%d ,shujui);printf(nave=%lf s=%lfn,ave,s);*7目的利用标准库提供的随机数功能。 题目内容编写程序,生成10个随机数。输入 无输出 10个随机数提示包含系统文件stdlib.h,描述的随机数函数int rand(void)、void srand(unsigned seed)。#include #include void main()int i,shu10;srand(11); /*不同的初始种子数,产生不同的随机数序列*/for(i=0;i10;i+) shui=rand();printf(%dt,shui);printf(n);74 27648 21136 4989 24011 22223 9834 85 28238 28519如果要求产生10个100以内的随机数,程序如何修改?#include #include void main()int i,shu10;srand(11);for(i=0;i10;i+) shui=rand();printf(%dt,shui);printf(n);74 48 36 89 11 23 34 85 38 19srand(11); 改为srand(12);77 28 32 52 58 50 47 26 81 718目的统计问题。 题目内容某班20个学生C语言课程成绩已知,编写程序,统计不及格人数。输入 学生成绩输出 不及格人数提示统计变量初值为零。#include void main()int i,score20;int numbers=0; for(i=0;i20;i+) printf(请输入%d号学生成绩:n,i+1); scanf(%d,&scorei);for(i=0;i20;i+)if(scorei60) numbers+;printf(不及格人数为:%dn,numbers);9目的利用所学知识解决实际问题。 题目内容某公司邀请40个顾客参加投票活动,选举他们最喜爱的产品,以决定公司今后的销售策略。共有编号为1号10号的10个产品,每人只能选择一个产品。编写程序,在整数数组中设置这40个值(投票情况),然后统计投票结果(每一个产品的得票数目)。输入 无输出 投票结果提示#include void main()int i,tp40=1,2,6,4,8,5,9,7,8,10,1,6,8,6,7,10,3,8,2,7,6,5,7,6,8,6,7,5,6,6,5,6,7,5,6,4,8,6,8,10;int ps10;for(i=0;i10;i+)psi=0;for(i=0;i40;i+) switch(tpi) case 1: ps0=ps0+1;break;case 2: ps1=ps1+1;break;case 3: ps2=ps2+1;break;case 4: ps3=ps3+1;break;case 5: ps4=ps4+1;break;case 6: ps5=ps5+1;break;case 7: ps6=ps6+1;break;case 8: ps7=ps7+1;break;case 9: ps8=ps8+1;break;case 10: ps9=ps9+1;for(i=0;i10;i+)printf(%d %dn,i+1,psi);printf(n);1 22 23 14 25 56 117 68 79 110 3在上述结果的基础上,再要求打出统计结果的直方图。#include void main()int i,j,tp40=1,2,6,4,8,5,9,7,8,10,1,6,8,6,7,10,3,8,2,7,6,5,7,6,8,6,7,5,6,6,5,6,7,5,6,4,8,6,8,10;int ps10;for(i=0;i10;i+)psi=0;for(i=0;i40;i+) switch(tpi) case 1: ps0=ps0+1;break;case 2: ps1=ps1+1;break;case 3: ps2=ps2+1;break;case 4: ps3=ps3+1;break;case 5: ps4=ps4+1;break;case 6: ps5=ps5+1;break;case 7: ps6=ps6+1;break;case 8: ps7=ps7+1;break;case 9: ps8=ps8+1;break;case 10: ps9=ps9+1;for(i=0;i10;i+)printf(%dt%dt,i+1,psi);for(j=1;j=psi;j+)printf(*);printf(n);printf(n);10目的顺序查找算法。 题目内容编写程序,在整数数组中设置10个值(例如学生年龄),然后从键盘输入一个要查找的年龄,用顺序查找算法进行查找,并输出查找结果。输入 一个要查找的年龄输出 查找结果提示可以利用标志变量表示查找的结果。#include void main()int i,age10=17,18,19,18,20,22,17,18,18,19;int sage,flag=0;printf(请输入要查找的年龄:);scanf(%d,&sage);for(i=0;i10;i+)if(sage=agei) flag=1; break;if(flag=1) printf(找到年龄%dn,sage);elseprintf(未找到年龄%dn,sage);11目的选择排序算法。 题目内容编写程序,在整数数组中设置10个值(例如学生年龄),用选择排序算法排序,并输出排序结果。输入 10个整数数值输出 排序结果提示12目的冒泡排序算法。 题目内容 编写程序,在整数数组中设置10个值(例如学生年龄),用冒泡排序算法排序,并输出排序结果。输入 10个整数数值输出 排序结果提示 13目的二分查找算法。 题目内容编写程序,在整数数组中设置已经排好序的10个值(例如学生年龄),然后从键盘输入一个要查找的年龄,用二分算法进行查找,并输出查找结果。输入 一个要查找的年龄输出 查找结果提示14目的从一组数据中删除一个指定的数据。 题目内容编写程序,在整数数组中设置10个值(例如学生年龄),然后从键盘输入一个要删除的年龄,如果数组中有该年龄则删除,如果没有该年龄,不做删除处理,并输出最终结果。输入 一个要删除的年龄输出 最终结果15目的在一组已经排好序的数据序列中,插入一个数据,使插入后的数列依然有序。 题目内容编写程序,在整数数组中设置10个值(例如学生年龄),然后从键盘输入一个要插入的年龄,插入该年龄,使插入后的数组仍然有序,并输出插入结果。输入 一个要插入的年龄输出 插入结果16目的掌握数组数据结构采用递推法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州普定县畜牧服务中心招聘公益性岗位人员考前自测高频考点模拟试题含答案详解
- 2025安徽合肥市长丰县下塘镇招聘村(社区)后备干部12名模拟试卷及完整答案详解一套
- SZDBZ 189-2016 大树移植技术规程
- 2025广东湛江中心人民医院第二批招聘考前自测高频考点模拟试题完整答案详解
- 2025广西河池市招聘中小学幼儿园教师565人模拟试卷及答案详解(夺冠系列)
- 滑草安全知识培训内容课件
- 2025湖南长沙市望城区卫健人才公开引进29人考前自测高频考点模拟试题及一套完整答案详解
- 2025年甘肃省平凉市第二批市直单位公益性岗位工作人员招聘37人模拟试卷及答案详解(各地真题)
- 2025贵州遵义医科大学第二附属医院第十三届贵州人才博览会引才17人考前自测高频考点模拟试题及答案详解(必刷)
- 2025年福建中医考试试题及答案
- 形体训练24课件
- INS+2024指南更新要点解读
- 输电线路水泥杆加固防腐施工方案
- 新版医疗器械管理制度零售单体药店
- 小学教师专业发展 教学大纲
- 学校装饰装修工程施工方案
- 屋面光伏工程施工组织设计
- 山体公园施工方案
- DL-T 5876-2024 水工沥青混凝土应用酸性骨料技术规范
- 胆囊癌完整版本
- 【MOOC】数据库原理及应用-电子科技大学 中国大学慕课MOOC答案
评论
0/150
提交评论