C语言程序模块化设计
作业3:模块化设计训练
50分=10*5
该作业训练提取函数、设计函数接口的能力。
请根据给出的各任务,采用模块化程序设计原则设计出所需模块(函数)。只写出各函数的原型、各函数调用表达式 和 各函数定义的头部(此作业先不要考虑子函数内部如何实现)。
例如:编写多函数程序,判断某个给定的正整数是否为素数。
子函数个数: 1个
子函数原型:int isprime(unsigned int );
子函数调用:...isprime(n)
子函数定义头部:int isprime(unsigned int x)
1. 编写多函数程序,求解两个整数的四则运算结果。
子函数个数:4个
子函数原型:int plus(int,int);int min(int,int);int as(int,int);int sdf(int,int);
子函数调用:plus(a,b);min(a,b);as(a,b);sdf(a,b);
子函数定义头部:int plus(int x,int y) int min(int x,int y) int as(int x,int y) int sdf(int x,int y)
2.编写多函数程序,将给定的一个长整型数中每一位上为偶数的数依次取出,构成一个新数。高位仍在高位,低位仍在低位。例如:程序运行时输入:124578902,程序输出:24802.
子函数个数:1个
子函数原型:int a(char);
子函数调用:a(b[i]);
子函数定义头部:int a(char x)
3. 编写程序,实现功能:找出某个数(其值在2~32768之间)所有的不相同质因子且升序存放到给定的整型一维数组中(可设计-1为存放的结束标记),将结果显示出来。例如:程序运行时若输入200,输出:2 5;若输入27720,输出:2 3 5 7 11;若输入101,输出101。
子函数个数:2个
子函数原型:int a(int);int b(int);
子函数调用:a(m);b(n);
子函数定义头部:int a(int x) int b(int y)
4.若有定义int a[6],编写程序实现数组元素的输入和输出。
子函数个数:2个
子函数原型:void f1();void f2();
子函数调用:f1();f2();
子函数定义头部:void f1() void f2()
5.若有定义int b[3][3],编写程序实现数组元素的输入和输出
子函数个数:2个
子函数原型:void f1();void f2();
子函数调用:f1();f2();
子函数定义头部:void f1() void f2()
6.若有数组定义int x[8],运行程序输入8个数据.按照如下要求操作后显示数组内容:当x[i]不是最后一个元素时,用x[i]+x[i+1]取代x[i],即x[0]被x[0]+x[1]取代,x[1]被x[1]+x[2]代替……当x[i]是数组最后一个元素时,x[i]被x[i]+x[0]代替,即x[n-1]=x[n-1]+x[0],然后对数组进行升序排序,并统计其中奇数的个数返回。例如,程序若输入:3 5 2 7 9 11 21 9 输出:8 7 9 16 20 32 30 12 n=2
子函数个数:4个
子函数原型:void f1();void f2();void f3();int f4(int[]);
子函数调用:f1();f2();f3();f4(y);
子函数定义头部:int f1() void f2() void f3() int f4(int[z])
7.计算满足表达式x0+x1+x2+...+xn
子函数个数:1个
子函数原型:int a(int,int);
子函数调用:a(x,y);
子函数定义头部:int a(int m,int n)
8.若有M行N列的二维字符数组,编写程序实现功能:
(1)输入M个字符串存放到二维数组中。
(2)分行输出二维数组中各串内容。
(2)找出最长的字符串所在位置(行号)
(3)将最长字符串复制到给定的一维数组中。
子函数个数:4个
子函数原型:void f1();void f2(char[][]);int f3(char[][]);void f4(int);
子函数调用:f1();f2(char[m][n]);f3(char[m][n]);f4(x);
子函数定义头部:void f1() void f2(char[x][y]) int f3(char[x][y]) void f4(int x)
9.编写程序对给定的英文字符串进行加密处理,加密规则是:A->C,B->D,……,