C++提高题 输入一个数组然后以冒泡排序的方式按从小到大输出 详见补充 求解

2025-04-18 21:10:20
推荐回答(2个)
回答1:

#include
#include
#include
#define N 100
int main(){
    int a[N];
    int i;
    for(i=0;i        a[i]=rand();   
   for(i=0;i        printf("%d ",a[i]);
    printf("\n");
   
   //冒泡排序,升序,变量t
    int t;
    int j;
    //for语句
    for(i=N-1;i>=1;i--){
        for(j=0;j            if(a[j]>a[j+1]){
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    for(i=0;i        printf("%d ",a[i]);
    printf("\n");
    getchar();
    return 0;
}

 

回答2:

#define N       100
int main()
{
        int array[N] = {0};
        int t;
        int i,j;
        
        // input
        for (i=0; i            fscanf(stdin, "%d", &array[i]);
        // bubble sort
        for (i=0; i                for (j=i;j                        if (array[j] < array[i]) {
                                t = array[j];
                                array[j] = array[i];
                                array[i] = t;
                        }
                }
        }
        // output
        for (i=0; i             printf("%d ", array[i]);
        }
        printf("\n");
}