您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页实验5 数组

实验5 数组

来源:意榕旅游网
实验5 数组

一、 实验目的

1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2. 掌握字符数组和字符串函数的使用。

3. 掌握与数组有关的算法,特别是排序算法

二、 实验学时

4学时

三、 实验内容 1. 读程序,填空

(1) 以下程序分别在a数组和b数组中放入an+1和bn+1个由小到大的有序数,程

序把两个数组中的数按由小到大的顺序归并到c数组中,请填空: int main( )

{ int a[10]={1,2,5,8,9,10},an=5;

int b[10]={1,3,4,8,12,18}, bn=5; int i,j,k, c[20], max=9999; a[an+1]=b[an+1]=max; i=j=k=0;

while( a[i]!=max||b[j]!=max) { if(a[i]_______} else

{ c[k]=_________; k++;

_____________;}

}

for(i=0;i(2) 以下代码的功能是:对已排好序的数组,用折半查找法查找指定的数据。请

将代码补充完整。 int main()

{ int a[ ]={-123, -10, 5, 8, 30, 56, 59, 66, 90, 518};//学生也可自拟数据 int n,k,i;

cout<<\"输入要查询的关键值:\"; cin>>k;

cout<int low = 0,high =9,find = -1,m; //find=-1表示没有找到

while (low <= high &&______________)

{

m =___________; if (k == a[m])

{find = 1; //find=1表示已经找到

cout<< k<<\"找到了,在第\"<< m+1<< \"个位置。\"<{if (k < a[m])

high = __________; else

low = __________;} }

if (____________)

cout<< k<<\"没有找到。\"<2. 程序设计

(1) 一个10个整数的数组(34,91,83,56,29,93,54,12,88,72),求数组元素

的平均值,找出最小数及其下标。

(2) 用冒泡法对第一题数组的10个数从大到小排列,按每行5个数分别输出排序前后

的数组元素。 (3) 用string 定义字符串变量的方法,编一程序,将两个字符串连接起来,结果取代第

一个字符串。 (4) 编程序实现:从一组数据中,按顺序查找指定的数据,如找到显示该数所在位置,

否则给出未找到的提示。

基本方法:在含有n个数的数组a里,查找其值为k的数据。从下标为0的位置开始,

顺序向下查找,让k与a[i]进行比较,若k!=a[i],则使i=i+1,继续向下查找;若k==a[i],则查找成功;若直到i>n还没找到,则在该数组中没有其值为k的数据。

(5) (选做)在一个从小到大排列的有序数组中插入元素x ,插入后数组仍然有序。 核心参考代码(假设有10个数): for (k = 0;k<=9;k++) if (x < a[k]) break; if(k==10) a[10] = x; else

{

for (i = 9 ; i >=k;i--) a[i + 1]= a[i]; a[i+1] = x; }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务