/*=====================================
请开发一个自上而下的模块化程序,用于完成以下任务
总时间限制: 1000ms 内存限制: 65536kB
描述
请开发一个自上而下的模块化程序,用于完成以下任务
a) 读取两个整数数组,数组的元素未经排序。
b) 将数组元素按递增排序。
c) 将已排序的数组合并。
d) 显示已排序的列表。
使用函数来完成以上每个任务。主函数中只包含函数调用。
输入
输入三行
第一行两个数字 表示两个数组元素的个数
第二行第一个数组
第三行第二个数组
输出
输出一行,合并后的数组,注意这时仍然是第一个数组在前,第二个数组在后
两个数组分别排序,但是合并的数组并没有排序
注意看例子!!!!!
样例输入
4 5
2 3 4 1
3 4 5 1 2
样例输出
1 2 3 4 1 2 3 4 5
提示
主函数中只有调用函数的四个语句
其他语句都要在函数中完成
======================================*/
1 #include<stdio.h>
2 void readIntArray(int a[],int len);//输入数组
3 void sort(int a[],int len);// 将数组元素按递增排序
4 void showArray(int a[],int len); //显示已排序的列表。
5 int main()
6 {
7 int a[100],b[100],lena,lenb;
8 freopen("5.in","r",stdin);
9 scanf("%d%d",&lena,&lenb);
10 readIntArray(a,lena);
11 readIntArray(b,lenb);
12 sort(a,lena);
13 sort(b,lenb);
14 showArray(a,lena);
15 showArray(b,lenb);
16 return 0;
17 }
18 void readIntArray(int a[],int len)// 形式参数
19 {
20 int i;
21 for(i=0;i<len;i++)
22 {
23 scanf("%d",&a[i]);
24 }
25 }
26 void showArray(int a[],int len)
27 {
28 int i;
29 for(i=0;i<len;i++)
30 {
31 printf("%d ",a[i]);
32 }
33 }
34 void sort(int a[],int len)
35 {
36 int i,j,k,t;
37 for(i=0;i<len-1;i++)
38 {
39 k=i;
40 for(j=i+1;j<len;j++)
41 {
42 if(a[j]<a[k]) k=j;
43 }
44 if(i!=k)
45 {
46 t=a[i];a[i]=a[k];a[k]=t;
47 }
48 }
49 }