题解 | #输入整型数组和排序标识,对其元素按照升序或降序进行排序#
输入整型数组和排序标识,对其元素按照升序或降序进行排序
http://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309
#include<stdio.h>
int main() { int n,i,j,flag1,flag2=1; int Array[1000]; int temp;
while(scanf("%d",&n) != EOF){
for(i=0; i<n; i++){
scanf("%d",&Array[i]);
}
scanf("%d",&flag1);
for(i=0; i<n && flag2; i++){
flag2 = 0;
for(j=0; j<n-i-1; j++){
if(flag1 == 0){ //升序
if(Array[j] > Array[j+1]){
temp = Array[j];
Array[j] = Array[j+1];
Array[j+1] = temp;
flag2 = 1;
}
}else if(flag1 == 1){ //降序
if(Array[j] < Array[j+1]){
temp = Array[j];
Array[j] = Array[j+1];
Array[j+1] = temp;
flag2 = 1;
}
}
}
}
for(i=0; i<n; i++){
printf("%d ",Array[i]);
}
}
return 0;
}