冒泡法按升序排序,编译

随机生成1000个0-100以内的整数,使用冒泡法按升序排序
怎么编译??


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 1000
int rannum(){
    int a = rand()%100;
    if(rand()%2==0) return a+1; 
    else return a;
} 
void sort(int x[],int n){
    int temp;
    for(int i = 0;i<n;i++){
        for(int j=0;j<n-i;j++){
            if(x[j]>x[j+1]){
                temp = x[j+1];
                x[j+1] = x[j];
                x[j] = temp;
            }
        }
    }
}
int main(){
    int a[M];
    srand((unsigned)time(NULL)); //生成随机种子,否则每次得到的随机数都会一致
    for(int i = 0 ;i<M;i++){
        a[i]=rannum();
    }
    printf("排序前:");
    for(int i = 0 ;i<M;i++){
        printf("%d  ",a[i]);
    }
    printf("\n");
    sort(a,M);
    printf("排序后:");
    for(int i = 0 ;i<M;i++){
        printf("%d  ",a[i]);
    }
    return 0;
}

img

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int N=1000;
    int j,k;
    int t[1000];
    for(j=0; j<N; j++)
    {
        t[j]=rand()%100;
    }
    for(j=0; j<N-1; j++)
    {
        for(k=0; k<N-1-j; k++)
        {
            if(t[k]>t[k+1])
            {
                int tem=t[k];
                t[k]=t[k+1];
                t[k+1]=tem;
            }
        }
    }
    printf("排序后前20个数:\n");
    for(j=0; j<20; j++)
    {
        printf("%d ",t[j]);
    }
    printf("\n排序后倒数20个数:\n");
    for(j=N-20; j<N; j++)
    {
        printf("%d ",t[j]);
    }
    return 0;
}