问题:
对于整型数组a[10]和b[10],编制程序完成下列任务:
(1)由用户从键盘为两个数组输入值;
(2)求出两个数组的最大值和最小值;
(3)把数组a和b中的整数分别从小到大和从大到小排序;
(4)把两个有序的数组a和b组成一个长度为20的有序数组c[20],使数组c的顺序为从小到大。
代码:
#include<iostream>
#include<algorithm>
using namespace std;
void input(int*m);
void max_min(int*m);
void combine(int*m,int*n);
int main()
{
int a[10],b[10];
input(a);
input(b);
max_min(a);
max_min(b);
combine(a,b);
return 0;
}
//输入数组a,b
void input(int *m)
{
for(int i=0;i<10;i++)
{
cin>>m[i];
}
}
//对数组a,b进行排序,并输出最大值和最小值
void max_min(int*m)
{
sort(m,m+10);
cout<<"该数组的最大值为:"<<m[9]<<","<<"该数组的最小值为:"<<m[0]<<endl;
}
//将数组a,b合并入数组c,同时对数组c进行排序
void combine(int*m,int*n)
{
int c[20];
int i=0,j=0;
for(int a=0;a<20;a++)
{
if(m[i]<n[j])
{
c[a]=m[i];
i++;
}
else
{
c[a]=n[j];
j++;
}
cout<<c[a]<<" ";
}
}
运行截图: