编写三个子函数及主函数,实现10整数数据的读入、排序、输出等功能。
要求:定义Input( )子函数,实现数据从键盘上读取的功能;
定义子函数Output()子函数,实现数据输出到屏幕的功能。每5个数据分一行。
定义子函数Sort()子函数,实现数据从小到大的排序。排序算法不限。
针对上述三个子函数性质,确定合适的返回值、形式参数类型、个数。定义主函数,分别调用上述子函数,实现:键盘上读取10个int数据、输出原始数据、排序、输出排序后的数据,必须有数据的提示信息。
编写三个子函数及主函数,实现10整数数据的读入、排序、输出等功能。
要求:定义Input( )子函数,实现数据从键盘上读取的功能;
定义子函数Output()子函数,实现数据输出到屏幕的功能。每5个数据分一行。
定义子函数Sort()子函数,实现数据从小到大的排序。排序算法不限。
针对上述三个子函数性质,确定合适的返回值、形式参数类型、个数。定义主函数,分别调用上述子函数,实现:键盘上读取10个int数据、输出原始数据、排序、输出排序后的数据,必须有数据的提示信息。
#include <stdio.h>
#include <stdlib.h>
/**
* 编写函数实现对数组中10个整数由小到大排序,要求编写三个分别实现整数的
* 输入,排序,输出,主函只须调提示:以数组名作为函数参数,编写三个函数。
* input(int a[],int n)
* sort(int a[],int n)
* output(int a[],int n)
*/
/* 输入函数 */
int input(int a[],int n)
{
int i = 0;
printf("请以此输入数组元素:\n");
for(i=0; i<n; i++)
{
scanf("%d", &a[i]);
}
return 0;
}
/* 排序函数 */
int sort(int a[],int n)
{
int i = 0, j = 0, tem = 0;
printf("正在对数组进行由小到大排序:\n");
for(i=0; i<n; i++)
{
for(j=i+1; j<n; j++)
{
if(a[j] < a[i])
{
tem = a[i];
a[i] = a[j];
a[j] = tem;
}
}
}
printf("排序完成!\n");
return 0;
}
/* 输出函数 */
int output(int a[],int n)
{
int i = 0;
printf("输出数组: \n");
for(i=0; i<n; i++)
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
int main()
{
int *a = NULL;
int n = 0;
/* 输入 */
printf("请输入数组的大小:\n");
scanf("%d", &n);
a = malloc(n*sizeof(n));
input(a, n);
/* 排序 */
sort(a, n);
/* 输出 */
output(a, n);
return 0;
}