排序
Special Judge
Time Limit: 2000/1000ms (Java/Others) 64bit IO Format: %lld & %llu
Problem Description:
给一个不重复的数组,将他排序成a1>a2<a3>a4<a5>a6..这样,结果不唯一
Sample Input:
5
1 2 3 4 5
6
1 2 3 4 5 6
Sample Output:
2 1 5 3 4
2 1 5 3 6 4
排序
Special Judge
Time Limit: 2000/1000ms (Java/Others) 64bit IO Format: %lld & %llu
Problem Description:
给一个不重复的数组,将他排序成a1>a2<a3>a4<a5>a6..这样,结果不唯一
Sample Input:
5
1 2 3 4 5
6
1 2 3 4 5 6
Sample Output:
2 1 5 3 4
2 1 5 3 6 4
头脑短路了,WA了很多次才AC,注意一下输出那里,不要有多余空格。
AC代码:
1 #include<stdio.h>
2 int main()
3 {
4 int a[100],b,c;
5 int n,i,j;
6 while(scanf("%d",&n)!=EOF)
7 {
8 for(i=0;i<n;i++)
9 {
10 scanf("%d",&a[i]);
11 }
12 for(j=0;j<n;j++)
13 {
14 for(i=0;i<n;i=i+2)
15 {
16 if(a[i]<a[i+1])
17 {
18 b=a[i];
19 a[i]=a[i+1];
20 a[i+1]=b;
21 }
22 if(i-1<0)
23 continue;
24 if(a[i]<a[i-1])
25 {
26 c=a[i];
27 a[i]=a[i-1];
28 a[i-1]=c;
29 }
30 }
31 }
32 printf("%d",a[0]);
33 for(i=1;i<n;i++)
34 {
35 printf(" ");
36 printf("%d",a[i]);
37 }
38 printf("\n");
39 }
40 return 0;
41 }