排序
输入整型数组和排序标识,对其元素按照升序或降序进行排序
https://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309
#include <stdio.h>
int main() {
int a[1000];//数据范围限制在1000以内
int num;
int isupFlag;
scanf("%d", &num); //输入数组元素的个数
for (int i = 0; i < num; i++) {
scanf("%d ", &a[i]); //输入待排序的数组
}
scanf("%d", &isupFlag); //0代表升序,1代表降序
for (int i = 0; i < num; i++) {
if (a[i] > 100000) {
printf("error!");
isupFlag = 2; //超出数据范围
break;
}
}
for (int i = 0; i < num - 1; i++) { //冒泡排序
for (int j = 0; j < num - 1 - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
if (isupFlag == 0) {//升序输出
for (int i = 0; i < num; i++) {
printf("%d ", a[i]);
}
} else if (isupFlag == 1) { //降序输出
for (int i = num - 1; i >= 0; i--) {
printf("%d ", a[i]);
}
}
return 0;
}
#菜鸟进化##学习日记#菜鸟进化论之华为机试 文章被收录于专栏
每日刷题,先天不足,后期努力。
深信服公司福利 832人发布

