您的位置:首页 > 其它

利用函数进行模块化设计的一个案例

2014-02-09 17:55 309 查看
/*=====================================
请开发一个自上而下的模块化程序,用于完成以下任务
总时间限制: 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
提示
主函数中只有调用函数的四个语句
其他语句都要在函数中完成

======================================*/


#include<stdio.h>
void readIntArray(int a[],int len);//输入数组
void sort(int a[],int len);// 将数组元素按递增排序
void showArray(int a[],int len); //显示已排序的列表。
int main()
{
int a[100],b[100],lena,lenb;
freopen("5.in","r",stdin);
scanf("%d%d",&lena,&lenb);
readIntArray(a,lena);
readIntArray(b,lenb);
sort(a,lena);
sort(b,lenb);
showArray(a,lena);
showArray(b,lenb);
return 0;
}
void readIntArray(int a[],int len)//  形式参数
{
int i;
for(i=0;i<len;i++)
{
scanf("%d",&a[i]);
}
}
void showArray(int a[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("%d ",a[i]);
}
}
void sort(int a[],int len)
{
int i,j,k,t;
for(i=0;i<len-1;i++)
{
k=i;
for(j=i+1;j<len;j++)
{
if(a[j]<a[k]) k=j;
}
if(i!=k)
{
t=a[i];a[i]=a[k];a[k]=t;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐