一、 实验目的
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 将代码补充完整。 int main() { int a[ ]={-123, -10, 5, 8, 30, 56, 59, 66, 90, 518};//学生也可自拟数据 int n,k,i; cout<<\"输入要查询的关键值:\"; cin>>k; cout< while (low <= high &&______________) { m =___________; if (k == a[m]) {find = 1; //find=1表示已经找到 cout<< k<<\"找到了,在第\"<< m+1<< \"个位置。\"< high = __________; else low = __________;} } if (____________) cout<< k<<\"没有找到。\"< (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; } 因篇幅问题不能全部显示,请点此查看更多更全内容