/*===================================== 请开发一个自上而下的模块化程序,用于完成以下任务 总时间限制: 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 }