1.8

    xiaoxiao2021-12-14  16

    问题描述:对N个整数(数据由键盘输入)进行升序排列。

    一般方法:

    #include<stdio.h> #define N 10 int main() { int i; int j; int t; int a[N]; int count = 0; printf("请为数组元素赋初值:\n"); for(i = 0; i < N; i++) { scanf("%d",&a[i]); } for(i = 1; i <= N - 1; i++) { for(j = 0; j < N - 1; j++) { if(a[j] > a[j + 1]) { t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } printf("经过交换后的数组元素为:\n"); for(i = 0; i < N; i++) { count++; printf("%d ",a[i]); if(count % 5 == 0) { printf("\n"); } } printf("\n"); return 0; }

    动态分配内存法:

    #include<stdio.h> #include<stdlib.h> void bubbling_sort_method(int *num,int n) { int i; int j; int temp; for(i = 0; i < n; i++) { for(j = i + 1; j < n; j++) { if(num[i] > num[j]) { temp = num[i]; num[i] = num[j]; num[j] = temp; } } } } int main() { int N; int i; int count = 0; int *num_array; printf("Enter N:\n"); scanf("%d",&N); num_array = (int *)malloc(sizeof(int) * N); printf("Please input the num_string:\n"); for(i = 0; i < N; i++) { scanf("%d",num_array + i); } bubbling_sort_method(num_array,N); printf("The last condition is:\n"); for(i = 0; i < N; i++) { count++; printf("%d ",num_array[i]); if(count % 10 == 0) { printf("\n"); } } printf("\n"); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-972088.html

    最新回复(0)