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