黑马程序员技术交流社区
标题: 这个冒泡随机选数冒泡排序哪里错啦 [打印本页]
作者: iamcominghm 时间: 2015-11-30 22:15
标题: 这个冒泡随机选数冒泡排序哪里错啦
#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;
}
作者: 打滚的橘子 时间: 2015-11-30 22:36
选取数组的时候,a是一个地址常量,不能被赋值,应该是a[i] = b。打印数组用a[i]。排序循环,j循环的控制条件错了。
作者: 打滚的橘子 时间: 2015-11-30 22:37
还有最前面定义的b其实没用上,在for循环里的b覆盖了全局的b。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |