一、知识点
while(1){}表示永久循环
使用break结束循环
二、题目
1、描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序
2、数据范围
1<=n<=1000 0<=val<=100000
3、输入
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1,0代表升序排序,1代表降序排序
4、输出
输出排好序的数字
三、自己写的代码
#include<stdio.h>
int main() {
int n, i, mm, ud;
scanf("%d", &n);
int line[n];
for (i = 0; i < n; i++) {
scanf("%d", &line[i]);
}
scanf("%d", &ud);
if (ud == 0) {
while (1) {
mm = 100001;
for (i = 0; i < n; i++) {
if (line[i] < mm) {
mm = line[i];
}
}
if (mm == 100001) {
break;
}
printf("%d ", mm);
for (i = 0; i < n; i++) {
if (mm == line[i]) {
line[i] = 100001;
i = n;
}
}
}
} else {
while (1) {
mm = -1;
for (i = 0; i < n; i++) {
if (line[i] > mm) {
mm = line[i];
}
}
if (mm == -1) {
break;
}
printf("%d ", mm);
for (i = 0; i < n; i++) {
if (line[i] == mm) {
line[i] = -1;
i = n;
}
}
}
}
printf("\n");
return 0;
}