实验(6)-数组-参考答案

2019-08-31 10:03

C语言程序设计 实验教学(6)

【实验目的】数组的应用是很重要的一章。通过实验掌握一维数组的主要应用,并理解数组的存储。对二维数组的处理要比较熟悉。

【实验要求】一维数组的题目要求全面掌握,应用循环结构完成一维数组的输入、处理和输出。二维数组能够完成简单的数据处理和应用。 【实验课时】8.0 【实验内容】

一维数组:

1、 定义一个10个元素的int数组a,输入10个数,并输出。 main()

{int i,a[10]; for(i=0;i<10;i++) scanf(\ for(i=0;i<10;i++) printf(\ printf(\}

2、 用数组来保存Fibonacci数列前20项数值,以每5个数据为一行进行输出。 main()

{int i; long f[20]; f[0]=1;f[1]=1; for(i=2;i<20;i++) f[i]=f[i-1]+f[i-2]; for(i=0;i<20;i++) {if(i%5==0) printf(\ printf(\

1

} printf(\}

3、 计算整数数组num中的最大值及其所在的下标。 main()

{int i,max,p,a[10]; printf(\ for(i=0;i<10;i++) scanf(\ max=a[0];p=0; for(i=1;i<10;i++)

if(a[i]>max) {max=a[i];p=i;} printf(\ printf(\}

4、 在包含10个整数的数组中找出最大者,并与第一个元素交换。 main()

{int i,max,p,t,a[10]; printf(\ for(i=0;i<10;i++) scanf(\

printf(\ for(i=0;i<10;i++) printf(\ printf(\ max=a[0];p=0; for(i=1;i<10;i++)

2

if(a[i]>max) {max=a[i];p=i;} t=a[0];a[0]=a[p];a[p]=t;

printf(\ for(i=0;i<10;i++) printf(\ printf(\}

5、 输出整数数组num中所有大于平均值的数。 main()

{int i,n,num[100]; long sum=0; float ave; printf(\ scanf(\ for(i=0;i

if((float)num[i]>ave) printf(\ printf(\}

6、 课本P141习题7.4。假如数组a中的数是有序的,请将输入的数n插

入到a中,要求插入后依然保持有序。 /*the array is sorted by small to big */ main()

{int a[20],i,n,k; int point;

printf(\

3

scanf(\输入原始数据的个数*/

for(i=0;i

if(a[i]>k) {point=i; break;} if(i!=n)

{for(i=n;i>point;i--) a[i]=a[i-1]; a[point]=k;} /*从后向前方式*/ else a[n]=k;

printf(\ for(i=0;i

7、 数组的元素的删除:从数组中删除指定的元素。(位置、数据值) main()

{int i,n,point,a[10]={12,10,23,1,4,45,70,123,65,89}; printf(\ to be earsed: \\n\i=1 ? point scanf(\ for(i=0;i<10;i++)

5 i=2 ? point 23 56 65 78 89 59 23 56 59 65 78 89 10 point=-1; /*保存应该删除的位置下标*/ 12 if(a[i]==n) {point=i; break;} if(point!=-1) /*n存在于数组中*/ {for(i=point;i<10;i++) a[9]=0;} else

printf(\%d is not exist!\\n\

4

10 23 1 4 …

12 23 1 4 45 70 a[i]=a[i+1]; /*point开始的元素逐个前移,从前向后方式*/

printf(\for(i=0;i<10;i++) printf(\printf(\}

8、 统计具有10个元素的自然数数组中的奇数个数。 main()

{int i,num[10],count=0; for(i=0;i<10;i++)

{printf(\给予输入提示*/ scanf(\if(num[i]%2!=0) count++;} printf(\}

9、 实现对n个数的数列从小到大排序。(选择法) main()

{int i,j,n,point,a[100]; int temp; printf(\ scanf(\

for(i=0;i

{point=i; /*假定第i趟中最小数的位置是i*/ for(j=i+1;jif(point!=i) {temp=a[i];a[i]=a[point];a[point]=temp;} }

printf(\

5


实验(6)-数组-参考答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《土壤资源调查与评价》实习报告 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: