数组做函数参数----排序函数--C语言版
时间: 1ms 内存:128M
描述:
定义一个函数来完成对参数数组中元素的排序工作,函数声明如下:
void sort(int array[ ]);//该函数完成对array数组的排序工作
在以下程序的基础上,完成对sort函数的定义,提交时,只提交sort函数的定义即可。
#include <stdio.h>
void sort(int array[ ]);//该函数完成对array数组的排序工作
int main()
{
int a[10];
int i;
for(i=0;i<10;i++) //为数组元素赋值
scanf("%d",&a[i]);
sort(a); //对a数组进行排序
for(i=0;i<10;i++) //输出数组元素
printf("%d ",a[i]);
return 0;
}
输入:
输入十个为未排序的整数
输出:
输出已经排好序的十个整数
示例输入:
1 3 5 7 9 0 2 4 6 8
示例输出:
0 1 2 3 4 5 6 7 8 9
提示:
参考答案(内存最优[1092]):
#include <stdio.h>
void sort(int array[ ]);//该函数完成对array数组的排序工作
int main()
{
int a[10];
int i;
for(i=0;i<10;i++) //为数组元素赋值
scanf("%d",&a[i]);
sort(a); //对a数组进行排序
for(i=0;i<10;i++) //输出数组元素
printf("%d ",a[i]);
return 0;
}
void sort(int array[ ])//该函数完成对array数组的排序工作
{
int i,j;
int temp;
//冒泡排序
for(i=0;i<9;i++)
for(j=0;j<10-1-i;j++)
if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
参考答案(时间最优[0]):
#include <stdio.h>
void sort(int array[ ]);//该函数完成对array数组的排序工作
int main()
{
int a[10];
int i;
for(i=0;i<10;i++) //为数组元素赋值
scanf("%d",&a[i]);
sort(a); //对a数组进行排序
for(i=0;i<10;i++) //输出数组元素
printf("%d ",a[i]);
return 0;
}
void sort(int array[ ])//该函数完成对array数组的排序工作
{
int i,j;
int temp;
//冒泡排序
for(i=0;i<9;i++)
for(j=0;j<10-1-i;j++)
if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。