数组的基本操作及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数组的基本操作及应用

一、数组的基本操作

1.查找

【问题描述】

有10个同学的学号及成绩如下表所示:

要求:输入一个学号,输出该学号同学的成绩。

【分析】

用数组A和B分别存放同学的学号和成绩;

当输入一个学号后,只要在数组A中搜索一下X的位置,再输出该位置的数组B中的

元素即可;

注意,输入的学号可能不存在。

【参考程序】

#include

#include

using namespace std;

int a[10+1]={0,23,12,38,25,9,36,10,16,33,28}, b[10+1], i, f, x; // cin >> n; int a[n+1];

int main()

{

for (i=1; i<=10; i++) // 读入每位同学的学号及成绩

cin >> a[i] >> b[i]; // scanf(“%d%d”, &a[i], &b[i]);

f = 0; // f为查找标记

cin >> x; // 输入学号: x=16

for(i=1; i<=10; i++) // 查找

if (x==a[i]) {

cout << a[i] << ”--” << b[i] << endl;

f = 1;

break;

}

if (f==0) cout << “Not found!”

return 0;

}

//data 23, 89, 12, 96, 38, 75, 25, 88, 9, 69

//data 36, 100, 56, 16, 98, 33, 74, 28, 90

2.删除、移动

【问题描述】

有10个大小不同的数,次序凌乱地放在A数组中,请找出其中的最大数以及最大数所在的位置,并将该数删除,它后面的元素依次前移。{或仅打标记}

【参考程序】

#include

#include

using namespace std;

int main()

{

int a[11], i, max, t;

for (i=1; i<=10; i++) cin >> a[i];

max = a[1]; // 假设第一个元素是最大数

t = 1;

for (i=2; i<=10; i++) // 找最大数

if (a[i] > max) {

max = a[i];

t = i;

}

cout << “max=” << max << ”wei zhi:” << t << endl;

for (i=t; i<=9; i++) // 删除最大数后,后面的数依次前移

a[i] = a[i+1];

for (i=1; i<=9; i++)

cout << a[i] << " ";

cout << endl;

return 0;

}

相关文档
最新文档