一、知识点
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;
}四、测试




















