数组使用

更新时间:2024-03-30 16:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第2练

以下题目在实验室上机完成,并用程序评测系统评测上机成绩。打开相关源程序后,只能在//********与//=======之间编写程序,若修改源程序的其它部分,可能得0分。

第一套

A. 教师示范题(C4_1A.cpp)

【题目描述】

一维数组a中有10个整数,编写一个程序输出这组数中的最大值。 【输入】

输入文件C4_1A.in有1行,包含10个整数,整数之间用空格隔开。 【输出】

输出文件C4_1A.out有1行,包含1个整数,即数组a中最大值。 【输入输出样例1】

C4_1A.in

8 67 29 59 11 53 69 37 26 91 【输入输出样例2】

C4_1A.in

3 21 5 98 44 12 1 1 67 61 【数据限制】 0≤a[i]≤200

#include int main() {

int a[10];

int i,max;

freopen(\freopen(\for (i=0;i<10;i++)

scanf(\

C4_1A.out

98 91

C4_1A.out

//*********************************

//一维数组a中有10个整数,编写一个程序输出这组数中的最大值。 }

//================================= printf(\return 0; max=a[0];

for(i=0;i<10;i++) { }

if(max

max=a[i];

B. 学生模拟题(C4_1B.cpp) 【题目描述】

一维数组a中有20个整数,编写一个程序输出这组数中的最小值。 【输入】

输入文件C4_1B.in有1行,包含20个整数,整数之间用空格隔开。 【输出】

输出文件C4_1B.out有1行,包含1个整数,即数组a中最小值。 【输入输出样例1】

C4_1B.in

3 21 5 98 44 12 64 77 66 96 76 67 61 2 2 13 16 9 78 56 69 【输入输出样例2】

C4_1B.in

79 88 35 157 89 76 35 58 65 90 73 36 35 47 98 55 65 70 38 93 152 【数据限制】 0≤a[i]≤200

#include int main() { }

int a[20]; int i,min;

freopen(\freopen(\for (i=0;i<20;i++) scanf(\

//***********************************

//一维数组a中有20个整数,编写一个程序输出这组数中的最小值。 min=a[0];

for(i=0;i<20;i++) { }

//=================================== printf(\return 0;

if(min>a[i]) min=a[i];

C4_1B.out C4_1B.out

C. 拓展题(C4_1C.cpp)

【题目描述】

一维数组a中有10个整数,编写一个程序输出这组数中的平均值并求有多少个数超过平均值。

【输入】

输入文件C4_1C.in有1行,包含10个整数,整数之间用空格隔开。 【输出】

输入文件C4_1C.in有1行,包含2个数,分别是平均值(保留一位小数)和超过平均值的个数,两个数之间用空格隔开。

【输入输出样例1】

C4_1C.in

57 89 76 35 58 65 90 73 36 47 【输入输出样例2】

C4_1C.in

98 44 12 64 5 66 2 76 67 61 【数据限制】 0≤a[i]≤200

#include int main() {

int a[10]; int i,sum;

float avg;

freopen(\

freopen(\for (i=0;i<10;i++) scanf(\

//************************************

49.5 6

C4_1C.out

62.6 5

C4_1C.out

//一维数组a中有10个整数,编写一个程序输出这组数中的平均值并求有多少个数超过平均值。

sum=0;

for(i=0;i<10;i++) {

sum+=a[i];

}

avg=sum/(i*1.0);//保留一位小数 sum=0;

for(i=0;i<10;i++) {

if(a[i]>avg) sum++;

}

}

//==================================== printf(\return 0;

第二套

A. 教师示范题(C4_2A.cpp) 【题目描述】

一维数组a中有n(0<n<100)个整数,编写一个程序将数组a中第k个(0≤k≤n-1)元素删除。

【输入】

输入文件C4_2A.in有2行,第1行有2个整数分别表示n和k,整数之间用空格隔开;第2行有n个整数表示数组a中的各个元素,整数之间用空格隔开。

【输出】

输出文件C4_2A.out有1行,包含n-1个整数,即删除后数组中的各个元素,整数之间用空格隔开。

【输入输出样例1】

C4_2A.in

10 5

23 21 5 98 19 12 6 10 8 61 【输入输出样例2】

C4_2A.in

20 11

C4_2A.out

23 21 5 98 19 12 6 10 8 61 89 56 34

C4_2A.out

23 21 5 98 19 6 10 8 61

23 21 5 98 19 12 6 10 8 61 89 56 32 67 87 45 32 67 56 34 56 32 67 87 45 32 【数据限制】 0≤a[i]≤100

#include int main() { //

int a[100]={0}; int n,i,k;

freopen(\freopen(\scanf(\for (i=0;i

//*********************************

//一维数组a中有n(0<n<100)个整数,编写一个程序将数组a中第k个(0≤k

≤n-1)元素删除。

for(i=k;i

for(i=0;i

printf(\

//================================= return 0;

}

B. 学生模拟题(C4_2B.cpp) 【题目描述】

一维数组a中有n(0<n<99)个整数,编写一个程序在数组a中第k位置(0≤k≤n-1)插入一个元素d。

【输入】

输入文件C4_2B.in有2行,第1行有3个整数分别表示n、k和d,整数之间用空格隔开;第2行有n个整数表示数组a中的各个元素,整数之间用空格隔开。

【输出】

输出文件C4_2B.out有1行,包含n+1个整数,即插入后数组中的各个元素,整数之间用空格隔开。

【输入输出样例1】

C4_2B.in

10 5 78

23 21 5 98 19 12 6 10 8 61 【输入输出样例2】

C4_2B.in

C4_2B.out

20 16 91 23 21 5 98 19 12 6 10 8 61 89 23 21 5 98 19 12 6 10 8 61 89 67 56 34 56 32 91 67 87 45 32 67 56 34 56 32 67 87 45 32 【数据限制】 0≤a[i]≤100

#include int main() {

int a[100]={0}; int n,i,k,d;

freopen(\freopen(\scanf(\for (i=0;i

C4_2A.out

23 21 5 98 19 78 12 6 10 8 61

scanf(\

//********************************* //一维数组a中有n(0<n<99)个整数,编写一个程序在数组a中第k位置(0≤k≤n-1)插入一个元素d。

}

C. 拓展题(C4_2C.cpp) 【题目描述】

一维数组a中有n(0<n<100)个整数,编写一个程序将数组a中所有值为d的元素删除。

【输入】

输入文件C4_2C.in有2行,第1行有2个整数分别表示n和d,整数之间用空格隔开;第2行有n个整数表示数组a中的各个元素,整数之间用空格隔开。 【输出】

输出文件C4_2C.out有1行,即删除后数组中的各个元素,整数之间用空格隔开。

【输入输出样例1】

C4_2C.in

10 21

23 21 5 98 19 21 6 10 8 61 【输入输出样例2】

C4_2C.in

20 56

23 21 5 98 56 12 6 10 8 61 89 87 45 32 67 56 34 56 56 67 87 45 32 【数据限制】 0≤a[i]≤100

#include

C4_2C.out

23 21 5 98 12 6 10 8 61 89 67 34 67

C4_2C.out

23 5 98 19 6 10 8 61

for(i=n;i>=k;i--) { }

a[i+1]=a[i]; if(i==k) { }

a[i]=d;

for(i=0;i

printf(\

//================================= return 0;

int main() {

int a[100]={0}; int n,i,j,d,m;

freopen(\freopen(\scanf(\for (i=0;i

//*************************************

//一维数组a中有n(0<n<100)个整数,编写一个程序将数组a中所有值为d的

for(i=0;i

if(a[i]==d) {

for(j=i;j

元素删除。

}

}

for(i=0;i

printf(\

/* for(i=0;i

/* j=0; }

if(a[i]!=d) { }

printf(\if(i!=n-1)

printf(\

for(i=0;i

{ }

a[j]=a[i]; j++;

} { } } 第三套

*/

for(i=0;i

printf(\

//===================================== return 0;

A. 教师示范题(C4_3A.cpp) 【题目描述】

有一个4行5列的二维数组b,编写一个程序计算每一行的总和,并将此和顺序存放在一个长度为4的一维数组中,最后按顺序输出该一维数组。

【输入】

输入文件C4_3A.in有4行,每行有5个整数,整数之间用空格隔开。 【输出】

输出文件C4_3A.out有1行,包含4个整数,即每行的总和,整数之间用空格隔开。 【输入输出样例1】

C4_3A.in

3 21 5 98 10 44 12 1 12 8 67 61 45 67 17 35 36 78 90 19 【输入输出样例2】

C4_3A.in

13 21 55 98 47 12 18 19 67 61 89 90 36 78 10 89 87 67 90 12 【数据限制】

0≤b[i][j]≤100

B. 学生模拟题(C4_3B.cpp) 【题目描述】

有一个4行5列的二维数组b,编写一个程序计算每一列的总和,并将此和顺序存放在一个长度为5的一维数组中,最后按顺序输出该一维数组。

【输入】

输入文件C4_3B.in有4行,每行有5个整数,整数之间用空格隔开。

C4_3A.out

234 177 303 345

C4_3A.out

137 77 257 258

【输出】

输出文件C4_3B.out有1行,包含5个整数,即每列的总和,整数之间用空格隔开。 【输入输出样例1】

C4_3B.in

3 21 5 98 10 44 12 1 12 8 67 61 45 67 17 35 36 78 90 19 【输入输出样例2】

C4_3B.in

13 21 55 98 47 12 18 19 67 61 89 90 36 78 10 89 87 67 90 12 【数据限制】 0≤b[i][j]≤100

#include int main() {

int b[4][5],a[5]={0};

int i,j;

freopen(\freopen(\for (i=0;i<4;i++)

for (j=0;j<5;j++) scanf(\

//************************************

//有一个4行5列的二维数组b,编写一个程序计算每一列的总和,并将此和顺序//最后按顺序输出该一维数组。 for(i=0;i<4;i++) { for(j=0;j<5;j++) } { }

{ }

a[j]+=b[i][j];

C4_3B.out

203 216 177 333 130

C4_3B.out

149 130 129 267 54

存放在一个长度为5的一维数组中,

for(i=0;i<5;i++)

printf(\

//====================================

return 0; }

C. 拓展题(C4_3C.cpp)

【题目描述】

有一个5行5列的矩阵(即二维数组b),要求以主对角线为对称线,将对称元素相加并将结果存放在下三角元素中,右上三角元素置为0。 【输入】

输入文件C4_3C.in有5行,每行有5个整数,整数之间用空格隔开。 【输出】

输出文件C4_3C.out有5行,每行有5个整数,整数之间用空格隔开。 【输入输出样例1】

C4_3C.in

23 21 15 68 10 44 12 10 12 28 67 61 45 19 17 30 36 78 70 19 45 17 28 36 23 【输入输出样例2】

C4_3C.in

10 20 30 21 22 12 18 19 67 61 29 60 36 15 10 22 27 17 10 12 13 21 55 21 47 【数据限制】 0≤b[i][j]≤100

#include int main() {

int b[5][5]; int i,j;

freopen(\freopen(\for (i=0;i<5;i++)

C4_3C.out

10 0 0 0 0 32 18 0 0 0 59 79 36 0 0 43 94 32 10 0 35 82 65 33 47

C4_3C.out

23 0 0 0 0 65 12 0 0 0 82 71 45 0 0 98 48 97 70 0 55 45 45 55 23

for (j=0;j<5;j++)

scanf(\

//*************************************

//有一个5行5列的矩阵(即二维数组b),要求以主对角线为对称线,将对称元素

相加并将结果存放在下三角元素中,

}

//====================================== return 0;

//右上三角元素置为0。 for(i=0;i<=3;i++) { }

for(i=0;i<=4;i++) { }

for(j=0;j<=4;j++) { }

printf(\

printf(\if(j!=4) { }

printf(\

for(j=i+1;j<5;j++) { }

b[j][i]+=b[i][j]; b[i][j]=0;

for (j=0;j<5;j++)

scanf(\

//*************************************

//有一个5行5列的矩阵(即二维数组b),要求以主对角线为对称线,将对称元素

相加并将结果存放在下三角元素中,

}

//====================================== return 0;

//右上三角元素置为0。 for(i=0;i<=3;i++) { }

for(i=0;i<=4;i++) { }

for(j=0;j<=4;j++) { }

printf(\

printf(\if(j!=4) { }

printf(\

for(j=i+1;j<5;j++) { }

b[j][i]+=b[i][j]; b[i][j]=0;

本文来源:https://www.bwwdw.com/article/72er.html

Top