Problem D: 编写函数:数组的排序 (Append Code) Time Limit: 1 Sec Memory Limit: 16 MB Submit: 4409 Solved: 2078 [Submit][Status][Web Board] Description
输入一组整数,按从小到大顺序排序后输出。
-----------------------------------------------------------------------------
结合“Append Code”中的代码,编写以下函数:
原型:int get_array(int a[]);
功能:遵循样例格式读取n个输入存放在a[]里,返回值为实际输入的元素个数。
原型:int put_array(int a[], int n);
功能:按格式输出a[]中的前n个元素。
原型:int sort_array(int a[], int n);
功能:把a[]中前n个元素按从小到大排序。
函数的调用格式见“Append Code”。 Input
输入最多不超过N(N<100)个整数,至EOF结束。 Output
在一行中按从小到大排序输出这些整数,两数之间用一个空格分开,行尾有回车。
Sample Input
5 3 2 4 9 8
Sample Output
2 3 4 5 8 9 HINT
“Append Code”中用到的头文件、全局变量或宏的定义应自行补充。
Append Code
append.c,
Problem B: 编写函数:有序序列插入数据 之二 (Append Code) Time Limit: 1 Sec Memory Limit: 16 MB Submit: 2214 Solved: 706 [Submit][Status][Web Board] Description
已有一个按递增序排列的正整数序列Array,其中任意两个元素都不同。现要将一正整数Key插入到序列Array中,并且依然保持Array的递增序。在此过程中,按判定顺序有可能出现以下几种情况:
1. 序列Array已经达到其容量上界;
2. 序列Array中已经有与Key相等的元素存在;
3. 序列Array既没有满,也没有与Key相等的元素,则Key可以插入序列Array之中,应获得其Key插入序列Array后所在的下标(从0开始)。
-----------------------------------------------------------------------------
编写函数getarray()、getkey()、insert()和result():
原型:int getkey(int key[]);
功能:按输入格式读取所有的待插入值,存放到整型数组key[]里,返回key[]中元素个数。
原型:int getarray(int array[]);
功能:按输入格式读取一个序列,存放到整型数组array[]里。
原型:int insert(int array[], int key, int vol);
功能:将key插入到整型数组array[]里,vol是array[]容量上限。根据题意描述的三种情况返回不同的值(你自己设计)。
原型:int result(int flag);
功能:结合insert()函数的返回值,根据输出格式和参数flag,产生不同的输出。
函数的调用格式见“Append Code”。 Input
输入的一个数是M,表示后面有M组测试数据。
每组测试数据有两部分组成:2行输入。第一部分是序列Array中的元素,最多不超过1000个,当读到0时表示序列输入结束。第二部分开始是一个正整数N(N较小),后面跟着N个待插入Array中的正整数key。 Output
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库C语言第八次作业在线全文阅读。
相关推荐: