Problem F:数组元素排序Time Limit: 1 Sec Memory Limit: 128 MB
Total Submissions: 69Accepted: 18Creator: hhzhou
Problem Description
编写函数sort(a,n),对数组a的元素进行从大到小的排序。测试程序为:
#include <stdio.h>#define N 10
void sort(int x[ ],int n);int main()
{
int a[N],i;
for(i=O;i<N;i++) scanf("%d",&a[i]);sort(a,N);
for(i=O;i<N;i++)
if(i==O) printf("%d", a[i]);else printf(" %d",a[i]);return 0;
}
/*你的代码将被嵌在这里*
Input Description
从键盘输入整型数组a的10个元素的值(各整数之间用空格间隔)。
Output Description
在屏幕上输出对数组a进行从大到小排序后的元素的值(各元素之间用一个空格间隔,最后一个元素的后面没有空格
Sample Input
3 11 8 29 0 -5 2 30 99-23
Sample Output
99 3029118 3 2 0-5-23
#include <stdio.h>
#define N 10
void sort(int x[], int n);
int main() {
int a[N];
int i;
for (i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
sort(a, N);
for (i = 0; i < N; i++) {
if (i == 0) {
printf("%d", a[i]);
} else {
printf(" %d", a[i]);
}
}
return 0;
}
void sort(int x[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (x[j] < x[j + 1]) {
temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
}
}
}
}