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

简介: /*===================================== 请开发一个自上而下的模块化程序,用于完成以下任务 总时间限制: 1000ms 内存限制: 65536kB 描述 请开发一个自上而下的模块化程序,用于完成以下任务 a) 读取两个整数数组,数组的元素未经排序。
/*=====================================
请开发一个自上而下的模块化程序,用于完成以下任务
总时间限制: 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 }
相关文章
|
4月前
|
存储 前端开发 JavaScript
高效组件的设计与封装之道
本文结合了作者自身碰到的场景来说明如何做好组件设计和封装。
|
2月前
|
C语言 开发者
C语言中的模块化编程思想,介绍了模块化编程的概念、实现方式及其优势,强调了合理划分模块、明确接口、保持独立性和内聚性的实践技巧
本文深入探讨了C语言中的模块化编程思想,介绍了模块化编程的概念、实现方式及其优势,强调了合理划分模块、明确接口、保持独立性和内聚性的实践技巧,并通过案例分析展示了其应用,展望了未来的发展趋势,旨在帮助读者提升程序质量和开发效率。
64 5
|
2月前
|
算法 测试技术
模块化设计具体应该怎么做呢
【10月更文挑战第22天】模块化设计具体应该怎么做呢
|
7月前
|
SQL 存储 缓存
第四章 逻辑架构(2)
第四章 逻辑架构
39 1
|
7月前
|
SQL 存储 缓存
第四章 逻辑架构(1)
第四章 逻辑架构
43 1
|
8月前
|
编译器 Go 持续交付
Go语言模块导入的实践与技巧:提升代码重用与模块化开发效率
【2月更文挑战第9天】在Go语言中,模块导入是实现代码重用和模块化开发的关键环节。本文将介绍Go语言中模块导入的实践与技巧,包括本地模块的导入、远程模块的导入、导入路径的解析与重定向、导入别名与包的重命名等,旨在帮助读者更加高效地进行Go语言的项目开发。
|
8月前
|
消息中间件 开发者 微服务
构建高效代码:模块化设计原则的实践与思考
在软件开发的世界中,编写可维护、可扩展且高效的代码是每个开发者追求的目标。本文将探讨如何通过应用模块化设计原则来提升代码质量,分享一些实践中的经验教训以及对未来技术趋势的思考。
|
8月前
|
存储 JavaScript 前端开发
第四章 模块和组件、模块化和组件化的理解
第四章 模块和组件、模块化和组件化的理解
|
存储 缓存 搜索推荐
复杂系统设计原则与案例
## 一、复杂是软件的本质属性 ### 1.1 复杂是软件的本质属性 正如Brooks所言,软件复杂性是软件固有的属性,这种固有的复杂性主要由4个方面的原因造成的: - 问题域的复杂性 - 管理开发过程的复杂性 - 随处可变的灵活性 - 描绘离散系统行为的问题 上面每一个方面都有极大的挑战,以「问题域的复杂性」为例,现在我们的大型系统中,动不动就几十个应用,组合在一起就是一个复杂的系统,而每个
1472 4
复杂系统设计原则与案例
|
设计模式 传感器 API
在编写RTOS代码时,如何设计一个简单、优雅、可拓展的任务初始化结构?
在编写RTOS代码时,如何设计一个简单、优雅、可拓展的任务初始化结构?
155 0