10个数排序
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic Discuss
Problem Description
以下程序的功能是:首先在主函数中输入10个整数,然后在被调函数中对这10个数按降序排序。最后在主函数中输出结果。请将以下程序补充完整,最后提交完整的源程序。限定不能使用函数返回值和全局变量。(难度等级:高)
提示:使用数组形参。
#include
#define N 10
void sort( )
{
}
int main(void)
{int a[N],i;
for(i=0;i
scanf("%d",&a[i]);
sort(a,N);
for(i=0;i
printf("%d,",a[i]);
return 0;
}
Input
要求输入数据之间,以空格隔开;
Output
要求每个输出数据之后有一个英文逗号。
Sample Input
12 -34 56 78 -99 20 40 -66 800 100
Sample Output
800,100,78,56,40,20,12,-34,-66,-99,
#include<stdio.h>
#define N 15
void sort(int a[],int n)
{
int *p,t,j;
int i,max;
p=a;//在考察指针的应用
for(i=0;i<n;i++)
{
max=i;
for(j=i+1;j<n;j++)
{
if( * (p+max)< * (p+j))
max=j;
}
if(max!=i)
{
t= * (p+max);
* (p+max)= * (p+i);
* (p+i)=t;
}
}
}
int main()
{
int i;
int a[N];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
sort(a,10);
for(i=0;i<10;i++)
{
printf("%d,",a[i]);
}
return 0;
}