实验7(数组)
更新时间:2023-11-19 15:19:01 阅读量: 教育文库 文档下载
实验七 数组
实验目的
1.掌握数组及数组元素的概念、数组的定义、数组元素的赋值和引用;2.正确使用数值数组,并掌握与数组有关的常用算法。
要点提示
1. 数组是相关变量的有序集合,其中所有的变量具有相同的数据类型。 2. 一维数组定义格式为:
类型说明符 数组名[size] 3. 数组的下标:
数组的下标从0开始,到size-1为止。 4. 多维数组定义格式为:
类型说明符 数组名[size1][size2]...[sizen]
实验内容
1. 一维数组的定义、赋值和引用 2. 与数组有关的算法。
3. 二维数组的定义,赋值和引用 4.字符数组的定义,赋值和引用
实验步骤
读懂并输入程序,完成填空后输出结果,(下面程序中的中文注释可以不输入)
1. 建立一个一维数组,用来存放5名学生的成绩,输入成绩,并计算平均分。
#define N 5 main() {
1
int 【① 】; /* 数组定义语句 */ int i,sum=0; float aver;
printf(\ for (i=0; i<5; i++) {
scanf(\【②】); /* 输入数组元素 */ sum=sum+a[i]; }
aver=【③】; /* 计算平均分 */ printf(\}
程序运行结果:
Input 5 numbers: 80 80 90 90 90 The average score is: 【④】
2. 设数组a 包括10个元素,下面程序的功能是求出a中各相邻两个元素的和,并将这些和存放在数组 b中,按每行3个元素的形式输出。 例: b[1]=a[1]+a[0],...b[9]=a[9]+a[8] main()
{int a[10],b[10],i;
printf(\
for (i=0; i<10;i++) /* 数组输入 */ scanf(\ for (i=1; i<10; i++)
b[i]=【①】; /* 计算b数组中的元素 */ for (i=1; i<10; i++) { printf(\
if (【②】==0) printf(\每行打印3个数据 */ } }
程序运行结果:
Input 10 numbers:1 2 3 4 5 6 7 8 9 10 【③】 【④】 【⑤】
3. 将一个数组中的值按逆序重新存放,例如,原来顺序为:8,6,5,4,
2
1。要求改为:1,4,5,6,8。提示:a[0]和a[n-1]交换, a[1]和a[n-1-1]交换.... #define N 5 main()
{ int a[N]={8,6,5,4,1}, i, temp;
printf(\ for (i=0; i printf(\ for (i=0; i 程序运行结果 The original array is: 【③】 The new array is: 【④ 】 4. 求一个3X3矩阵主对角线元素之和。提示求a[0][0]+a[1][1]+a[2][2]. main() {int 【①】; /* 数组定义语句 */ int i,j,sum=0; printf(\ for (i=0;i<3;i++) scanf(\【②】); /* 输入一行数组元素 */ for (i=0;i<3;i++) printf(\输出一行数据元素 */ for (i=0;i<3;i++) sum = 【③】; /* 计算对角线元素之和,提示i=i*/ printf(\} 程序运行结果如下: 3 Please input data: 12 34 54 43 12 76 54 10 12 The data is 【 ④ 】 5.以下是个评分统计程序,共有8个评委打分,统计时,去掉一个最高分和一个最低分,其余6个分数的平均分即是最后得分,程序最后应显示这个得分,显示精度为1位整数,2位小数,程序如下,请将程序补充完整。(99年北京水平试题) main() {float x[8]={9.2,9.5,9.8,7.4,5.,9.1,9,0,} float 【①】,max,min; int i; for (【②】; i<8; i++) aver+=x[i]; max=x[0]; min=max; for (i=1; i<8; i++) { if (max aver= 【④】; printf(\【⑤】\\n\} ⒍程序读入20个整数,统计并输出非负数个数以及非负数的和。 #include \main() {int i,a[20],s,count; s=count=0; for (i=0;i<20; i++) {scanf(\ if (a[i]<0) 【 ① 】; s+=a[i]; count++; } 4 printf(\} ⒎用选择法对10个整数按升序排序 #define N 10 main() { int i,j,min,temp; static int a[N]={5,4,3,2,1,9,8,7,6,0}; printf(\输出数组元素 */ for (i=0;i printf(\ for (i=0;i if (a[min]>a[j]) min =j; 【②】; /* 数据交换 */ } printf(\输出排序结果 */ for (i=0;i ⒏有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。 读懂下面的程序,并填空。 变量说明:top, bott:查找区间两端点的下标;loca:查找成功与否的开关变量。 #include { int i, j, number,top,bott,min,loca,a[N],flag; char c; printf(\由大到小 */ scanf(\输入第1个数据 */ i=1; while (i { scanf(\输入下一个数据 */ if (a[i]>=a[i-1]) /* 是否大于前一个数 */ i++; 5 else { printf(\ printf(\ } } printf(\输入需要查找的数 */ scanf(\ loca=0; top=0; bott=N-1; if ((numbera[N-1])) loca=-1; /* 不在范围内 */ while ((loca==0) && (top<=bott)) { min=【 】; if (number==a[min]) { loca=min; printf(\ } else if (number if (loca==0 || loca==-1) printf(\} 答 案 ⒈①a[N] ②&a[i] ③sum/N ④86 ⒉①a[i]+a[i-1] ②i%3③3 5 7④9 11 13⑤15 17 19 ⒊①a[i]=a[N-i-1] ②a[N-i-1]=temp③8 6 5 4 1④1 4 5 6 8⒋①a[3][3] ②&a[i][0],&a[i][1],&a[i][2] ③sum+a[i][i] ④36 ⒌①aver②i=0③min> x[i] ④(aver-min-max)/6⑤%f ⒍①continue ⒎①0②{ temp=a[min]; a[min]=a[j]; a[j]=temp} ⒏(top+ bott)/2 6
正在阅读:
实验7(数组)11-19
党课讲稿_神圣的誓言,无悔的承诺(重温入党誓词专题党课)09-12
北京市大兴区2014届高三一模 物理试题07-21
交通信号灯PLC控制系统设计05-04
简单eviews命令08-20
人教新课标六年级下册语文试题-期末测试卷 (含答案)04-16
ANSYS梁单元如何正确提取应力04-09
S.D.Lu的MSP430入门学习笔记(5):看门狗定时器和低功耗模式08-12
中国土地制度的演变10-13
市场营销学B卷12-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数组
- 实验
- 数据库系统简明教程填空题答案
- 从《诫子书》一文中得到的启示
- 会计电算化实验报告
- 湖北省黄冈中学2016 - 2017学年高二数学上学期期末模拟测试试题1理
- 夹逼准则在求极限中的应用
- 《尼尔斯骑鹅旅行记》测试题及标准答案-汇总
- 南泉革命烈士陵园
- Sample Functional Resume
- 上外SCP澳洲暑校申请及转学分指南 - UNSW
- 计算机网络课程设计
- 十八胺的性质及防腐
- 如何培养自己强大的气场
- C语言课程设计小学算术运算测试
- 乌东德右岸导流洞全孔不分段固结灌浆生产性试验2015(32审核稿)
- 第五课 驰名中外的邓州古今名人(二)近代革命先烈
- 学校慢性病防控工作总结
- 阿根廷的习俗礼仪
- 原料药中重金属残留检测
- 表面活性剂离子性测试方法
- 金融街融景城商业展厅塔吊施工方案