C语言编程-8

    xiaoxiao2025-04-10  24

    从键盘输入奇数个整型数(大于3),对该整数序列按如下规则排序:最大值排在中间,最小值排在最左,中值排在最右,其它值清为0。

     

    输以空格隔开

     

    定义排序函数原型为:void booble(int *array,int n);

     

    运行样例如下所示:

     

    输入

    5

    1 2 3 4 5

     

    输出

    1 0 5 0 3

    #include<stdio.h> #include<stdlib.h> void booble(int*array, int n) { int temp; for (int i = 0; i < n - 1; i++) //冒泡排序 for (int j = 0; j < n - 1; j++) { if (*(array + j) > *(array + j + 1)) { temp = *(array + j); *(array + j) = *(array + j + 1); *(array + j + 1) = temp; } } for (int i = 0; i < n; i++) { if (i == 0) { printf("%d ", *(array + 0)); } else if (i == n / 2) { printf("%d ", *(array + n - 1)); } else if (i == n - 1) { printf("%d", *(array + n / 2)); } else { printf("0 "); } } } int main() { int n; scanf_s("%d", &n); int *a = (int *)malloc(sizeof(n)*n); for (int i = 0; i < n; i++) { scanf_s("%d", a + i); //printf("%d\n", a[i]); } booble(a, n); return 0; }

     

    最新回复(0)