max=a[i];
}
//=================================
printf("%d",max);
return0;
}
B.学生模拟题(C4_1B.cpp)
【题目描述】
一维数组a中有20个整数,编写一个程序输出这组数中的最小值。
【输入】
输入文件C4_1B.in有1行,包含20个整数,整数之间用空格隔开。
【输出】
输出文件C4_1B.out有1行,包含1个整数,即数组a中最小值。
【输入输出样例1】
C4_1B.in
C4_1B.out
321598441264776696766761213169785669
2
【输入输出样例2】
C4_1B.in
C4_1B.out
798835157897635586590733647985565703893152
35
【数据限制】
0≤a[i]≤200
#include
intmain()
{
inta[20];
inti,min;
freopen("C4_1B.in","r",stdin);
freopen("C4_1B.out","w",stdout);
for(i=0;i<20;i++)
scanf("%d",&a[i]);
//***********************************
//一维数组a中有20个整数,编写一个程序输出这组数中的最小值。
min=a[0];
for(i=0;i<20;i++)
{
if(min>a[i])
min=a[i];
}
//===================================
printf("%d",min);
return0;
}
C.拓展题(C4_1C.cpp)
【题目描述】
一维数组a中有10个整数,编写一个程序输出这组数中的平均值并求有多少个数超过平均值。
【输入】
输入文件C4_1C.in有1行,包含10个整数,整数之间用空格隔开。
【输出】
输入文件C4_1C.in有1行,包含2个数,分别是平均值(保留一位小数)和超过平均值的个数,两个数之间用空格隔开。
【输入输出样例1】
C4_1C.in
C4_1C.out
57897635586590733647
62.65
【输入输出样例2】
C4_1C.in
C4_1C.out
984412645662766761
49.56
【数据限制】
0≤a[i]≤200
#include
intmain()
{
inta[10];
inti,sum;
floatavg;
freopen("C4_1C.in","r",stdin);
freopen("C4_1C.out","w",stdout);
for(i=0;i<10;i++)
scanf("%d",&a[i]);
//************************************
//一维数组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("%3.1f%d",avg,sum);
return0;
}
第二套
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
C4_2A.out
105
23215981912610861
232159819610861
【输入输出样例2】
C4_2A.in
C4_2A.out
2011
2321598191261086189675634563267874532
23215981912610861895634563267874532
【数据限制】
0≤a[i]≤100
#include
intmain()
{
inta[100]={0};
intn,i,k;
freopen("C4_2A.in","r",stdin);
//freopen("C4_2A.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=0;iscanf("%d",&a[i]);
//*********************************
//一维数组a中有n(0<n<100)个整数,编写一个程序将数组a中第k个(0≤k≤n-1)元素删除。
for(i=k;i{
a[i]=a[i+1];
}
for(i=0;iprintf("%d",a[i]);
//=================================
return0;
}
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
C4_2A.out
10578
23215981912610861
2321598197812610861
【输入输出样例2】
C4_2B.in
C4_2B.out
201691
2321598191261086189675634563267874532
232159819126108618967563456329167874532
【数据限制】
0≤a[i]≤100
#include
intmain()
{
inta[100]={0};
intn,i,k,d;
freopen("C4_2B.in","r",stdin);
freopen("C4_2B.out","w",stdout);
scanf("%d%d%d",&n,&k,&d);
for(i=0;iscanf("%d",&a[i]);
//*********************************
//一维数组a中有n(0<n<99)个整数,编写一个程序在数组a中第k位置(0≤k≤n-1)插入一个元素d。
for(i=n;i>=k;i--)
{
a[i+1]=a[i];
if(i==k)
{
a[i]=d;
}
}
for(i=0;i{
printf("%d",a[i]);
}
//=================================
return0;
}
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
C4_2C.out
1021
23215981921610861
2359819610861
【输入输出样例2】
C4_2C.in
C4_2C.out
2056
2321598561261086189675634565667874532
23215981261086189673467874532
【数据限制】
0≤a[i]≤100
#include
intmain()
{
inta[100]={0};
intn,i,j,d,m;
freopen("C4_2C.in","r",stdin);
freopen("C4_2C.out","w",stdout);
scanf("%d%d",&n,&d);
for(i=0;iscanf("%d",&a[i]);
//*************************************
//一维数组a中有n(0<n<100)个整数,编写一个程序将数组a中所有值为d的元素删除。
for(i=0;i{
if(a[i]==d)
{
for(j=i;ja[j]=a[j+1];
n--;
i--;
}
}
for(i=0;i{
printf("%d",a[i]);
}
/*for(i=0;i{
if(a[i]!
=d)
{
printf("%d",a[i]);
if(i!
=n-1)
printf("");
}
}
*/
/*
j=0;
for(i=0;i{
if(a[i]!
=d)
{
a[j]=a[i];
j++;
}
}
for(i=0;i{
printf("%d",a[i]);
}
*/
//=====================================
return0;
}
第三套
A.教师示范题(C4_3A.cpp)
【题目描述】
有一个4行5列的二维数组b,编写一个程序计算每一行的总和,并将此和顺序存放在一个长度为4的一维数组中,最后按顺序输出该一维数组。
【输入】
输入文件C4_3A.in有4行,每行有5个整数,整数之间用空格隔开。
【输出】
输出文件C4_3A.out有1行,包含4个整数,即每行的总和,整数之间用空格隔开。
【输入输出样例1】
C4_3A.in
C4_3A.out
32159810
44121128
6761456717
3536789019
13777257258
【输入输出样例2】
C4_3A.in
C4_3A.out
1321559847
1218196761
8990367810
8987679012
234177303345
【数据限制】
0≤b[i][j]≤100
B.学生模拟题(C4_3B.cpp)
【题目描述】
有一个4行5列的二维数组b,编写一个程序计算每一列的总和,并将此和顺序存放在一个长度为5的一维数组中,最后按顺序输出该一维数组。
【输入】
输入文件C4_3B.in有4行,每行有5个整数,整数之间用空格隔开。
【输出】
输出文件C4_3B.out有1行,包含5个整数,即每列的总和,整数之间用空格隔开。
【输入输出样例1】
C4_3B.in
C4_3B.out
32159810
44121128
6761456717
3536789019
14913012926754
【输入输出样例2】
C4_3B.in
C4_3B.out
1321559847
1218196761
8990367810
8987679012
203216177333130
【数据限制】
0≤b[i][j]≤100
#include
intmain()
{
intb[4][5],a[5]={0};
inti,j;
freopen("C4_3B.in","r",stdin);
freopen("C4_3B.out","w",stdout);
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%d",&b[i][j]);
//************************************
//有一个4行5列的二维数组b,编写一个程序计算每一列的总和,并将此和顺序存放在一个长度为5的一维数组中,
//最后按顺序输出该一维数组。
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
a[j]+=b[i][j];
}
}
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
//====================================
return0;
}
C.拓展题(C4_3C.cpp)
【题目描述】
有一个5行5列的矩阵(即二维数组b),要求以主对角线为对称线,将对称元素相加并将结果存放在下三角元素中,右上三角元素置为0。
【输入】
输入文件C4_3C.in有5行,每行有5个整数,整数之间用空格隔开。
【输出】
输出文件C4_3C.out有5行,每行有5个整数,整数之间用空格隔开。
【输入输出样例1】
C4_3C.in
C4_3C.out
2321156810
4412101228
6761451917
3036787019
4517283623
230000
6512000
82714500
984897700
5545455523
【输入输出样例2】
C4_3C.in
C4_3C.out
1020302122
1218196761
2960361510
2227171012
1321552147
100000
3218000
59793600
439432100
3582653347
【数据限制】
0≤b[i][j]≤100
#include
intmain()
{
intb[5][5];
inti,j;
freopen("C4_3C.in","r",stdin);
freopen("C4_3C.out","w",stdout);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&b[i][j]);
//*************************************
//有一个5行5列的矩阵(即二维数组b),要求以主对角线为对称线,将对称元素相加并将结果存放在下三角元素中,
//右上三角元素置为0。
for(i=0;i<=3;i++)
{
for(j=i+1;j<5;j++)
{
b[j][i]+=b[i][j];
b[i][j]=0;
}
}
for(i=0;i<=4;i++)
{
for(j=0;j<=4;j++)
{
printf("%d",b[i][j]);
if(j!
=4)
{
printf("");
}
}
printf("\n");
}
//======================================
return0;
}