实验6数组一.docx

上传人:小飞机 文档编号:2792724 上传时间:2023-02-25 格式:DOCX 页数:6 大小:108.32KB
返回 下载 相关 举报
实验6数组一.docx_第1页
第1页 / 共6页
实验6数组一.docx_第2页
第2页 / 共6页
实验6数组一.docx_第3页
第3页 / 共6页
实验6数组一.docx_第4页
第4页 / 共6页
实验6数组一.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验6数组一.docx》由会员分享,可在线阅读,更多相关《实验6数组一.docx(6页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上C语言程序设计实验报告-实验6 数组(一)一、实验目的(1)掌握一维数组、二维数组的定义,初始化方法。(2)掌握一维数组、二维数组中数据的输入和输出方法。 (3)掌握与数组有关的算法(查找,插入,排序等算法)。 (4)了解用数组处理大量数据时的优越性。 二、实验内容和步骤 1.填空题(1)给定程序c6-1.c的功能是在第一个循环中给a数组的前10个数组元素依次赋值1,2,3,4,5,6,7,8,9,10;在第二个循环中使a数组的前10个元素中的值对称折叠,变成1,2,3,4,5,5,4,3,2,1;在最后一个循环中输出对称折叠以后的a数组的前10个元素。#includ

2、eint main() int i,a10; for(i=1;i=10;i+)ai-1=i;for(i=0;i5;i+)ai+5=5-i;for(i=0;i10;i+)printf(%5d,ai);printf(n);return 0;(2)给定程序c6-2.c的功能是把数组a(大小为M)的前M-1个元素中的最小值放入a的最后一个元素中。#include#define M 11int main() int aM,i; for(i=0;iM-1;i+)scanf(%d,&ai);aM-1=a0;for(i=1;iai)aM-1=ai;printf(Min is %dn,aM-1);return

3、0;(3)c6-3.c的功能是求二维数组a中的最大元素及其下标。#includestdio.hint main() int a44=1,2,3,4,3,4,5,6,5,6,7,8,7,8,9,10; int i,j,max,l,c;max=a00;for(i=0;i4;i+)for(j=0;j=a00) max=aij; l=i;c=j;printf(max=%d,l=%d,c=%d%n,max,l+1,c+1);return 0;(4)下面的程序c6-4,c用于自动形成并输出以下矩阵。#includeint main() int i,j,k,a55; k=2;for(i=0;i5;i+)fo

4、r(j=0;j5;j+)if(j=i)aij=1; elseaij=k+;for(i=0;i5;i+) for(j=0;j=,因为这样包括了第一位置是0的情况!3.注意是j=!)2.改错题 (1)以下给定程序c6-5.c的功能是求一维数组a中所有元素的平均值,结果保留两位小数例如,当一维数组a中的元素为10,4,2,7,3,12,3,34,5,9时,程序的输出应为“The aver is:9.10”#includeint main() int a10=10,4,2,7,3,12,5,34,5,9,i; float aver,s;s=10;for(i=1;i10;i+)s+=ai;aver=s/

5、i;printf(The aver is:%.2fn,aver);return 0;(2)以下给定程序c6-6.c的功能是输入一个数x,查找x在数组a中最后一次出现的位置。例如:如果a数组中的元素为1,5,2,5,6,8,7,4,3,0,当x=5,时程序的输出结果为“5 is NO3”当x=10时,该数组不再数组中,程序的输出结果应为“10 not fount”#includeint main() int a10=1,5,2,5,6,8,7,4,3,0; int i,k,x,f=0;scanf(%d,&x);for(i=0;i10;i+)if(ai=x) f=1;k=i;if(f=1)prin

6、tf(%d is No.%dn,x,k);elseprintf(%d not found !n,x);return 0;(3)给定程序c6-7.c的功能是求二维数组a中的最小值。#includeint main() int a33=4,2,34,7,3,12,5,6,5,i,j,min; min=a00;for(i=0;i3;i+)for(j=0;jaij)min=aij;printf(The min is:%dn,min);return 0;3.编程题(1)编写一个程序,求一维数组中下标为偶数的元素之和。#includeint main() int a10,i,sum=0; for(i=0;

7、i10;i+)scanf(%d,&ai); for(i=0;i10;i+=2)sum+=ai;printf(sum=%dn,sum);return 0;(2)有一个已经从小到大排好序的数组,即a30=6,9,12,15,19,23,45,67,89,98现 输入一个整数X,要求按原来的升序规律将他插入到数组中。#includeint main() int i,x,j,a30=6,9,12,15,19,23,45,67,89,98; scanf(%d,&x); for(i=0;i=aiξj-) aj+1=aj; ai+1=x;break;else if(x=0;j-) aj+1=aj; 如

8、果去掉第一个break:a0=x;break;else a10=x;for(i=0;i11;i+) 如果去掉第二个break:printf(%d ,ai); printf(n);return 0; 思考为什么会出现这种情况?-(3)编写一个程序,将100以内的素数存放到一个数组中。#includeint main() int a50,i,j,m=0,f=0; for(i=2;i100;i+)for(j=2;ji;j+) if(i%j=0) break;if(j=i) am=i;m+=1;printf(1100所有的素数:n); for(i=0;im;i+) printf(%d ,ai);pri

9、ntf(n);return 0;这题很诡异,记住就行了!(4)统计3个学生的4门课程的考试成绩,要求输出每个学生的总成绩,平均成绩和所有学生的总平均成绩。#includeint main() int a34,i,j,r3=0,0,0; float s=0; for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j4;j+)ri+=aij;for(i=0;i3;i+)printf(第%d位同学总成绩%d ,i+1,ri); printf(平均成绩%.1fn,ri/4.0);s+=ri;printf(四位同学总平均成绩%fn,s/4);return 0;(5)打印杨辉三角的前10行。#includeint main() int a1010,i,j; for(i=0;i10;i+) aii=1,ai0=1;for(i=2;i10;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;i10;i+)for(j=0;j=i;j+)printf(%5d,aij); printf(n);return 0;专心-专注-专业

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号