A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include<stdio.h>
#include<stdlib.h>
int a[20];
int main(){
    int b=arc4random_uniform(40)+10;;
        printf("\t\t\t\t冒泡排序哦!\n");
        printf("在1-20间随机抽取20个数字作为一个数组");
        printf("他们分别是:");//随机数数组
        for (int i=0; i<20; i++) {
            int b=arc4random_uniform(19)+1;
            a=b;
            printf("%d ",a);
        }

        printf("\n");


    printf("使用冒泡排序后他们是:"); //冒泡排序
    for (int i=0; i<20; i++) {
        for (int j=0; j<j-i-1; j++) {
            if (a[j]<a[j+1]) {
                int temp;
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
             }
        }
    }
    for (int i=0; i<20; i++) {
        printf("%d ",a);
    }
    printf("\n");
    return 0;
}


2 个回复

倒序浏览
选取数组的时候,a是一个地址常量,不能被赋值,应该是a[i] = b。打印数组用a[i]。排序循环,j循环的控制条件错了。
回复 使用道具 举报
还有最前面定义的b其实没用上,在for循环里的b覆盖了全局的b。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马