4 回答
Yexiaomo
TA贡献152条经验 获得超157个赞
代码 下面有个测试代码
#include<stdio.h> #include<stdlib.h> #include <time.h> int main(void) { int nums[100] = {0}, i = 100, index; //index作为下标 srand((int)time(0)); for(;i;) { index = rand() % 100 ;//产生一个 100 以内的非负整数 if(!nums[index]) //如果 nums[index] 中存放的是 1 , 则代表这个数就已经输出过 { printf("%10d", index); nums[index] = 1; i--; } } return 0; }
测试代码
#include<stdio.h> #include<stdlib.h> #include <time.h> /* 冒泡排序, 排序后输出*/ void Bubble_Sort(int *num, int n); //参数1: 数组的首地址, 参数2: 数组的长度 int main(void) { int a[100], j = 0; //测试, 数组 a 存放产生的随机数, int nums[100] = {0}, i = 100, index; //index作为下标 srand((int)time(0)); for(;i;) { index = rand() % 100 ;//产生一个 100 以内的非负整数 if(!nums[index]) //如果 nums[index] 中存放的是 1 , 则代表这个数就已经输出过 { a[j++] = index;//测试 -->将 产生的数放至 数组 a 中 printf("%10d", index); nums[index] = 1; i--; } } printf("\n\n----------排序后,测试-----------\n"); Bubble_Sort(a,100); return 0; } void Bubble_Sort(int *num, int n) { int i, j; for(i = 0; i < n; i++) { for(j = 0; i + j < n - 1; j++) { if(num[j] > num[j + 1]) { int temp = num[j]; num[j] = num[j + 1]; num[j + 1] = temp; } } } for(i = 0; i < n; i++) printf("%10d", num[i]); return; }
程序 有点烂, 不懂了下面回复
--------------------------------------------------------
啦啦~~Imcainiao
- 4 回答
- 0 关注
- 1615 浏览
添加回答
举报
0/150
提交
取消