随机产生20个【1,100】的数据,从小到大排好序,从键盘输入一个数,插入到已经排好序的数组中不改变原来的排序规律。用C语言写的。
#include
#include
#include //产生随机数要的头文件
#define N 20
int main() {
int a[N + 1], i, j, t,temp, posi;//
srand(time(0));//计算机没有办法产生真正的随机数的,所以你只调用rand,每次出来的东西
//是一样的,Srand是种下随机种子数,你每回种下的种子不一样,用Rand得到的随机数就不一样
for (i = 0; i < N; i++)
a[i] = rand() % 101;//rand()%n,就是随机0~(n-1)之间的数字
for (i = 1; i < N; i++)
for (j = 1; j < N; j++)//先用冒泡排序
if (a[j - 1] > a[j]) {
temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
}
for (i = 0; i < N; i++)
printf("%d ", a[i]);
printf("\n说吧,你想输入啥数:");
scanf("%d", &t);
for (i = 0; i < N; i++)
if (t < a[i])
break;
posi = i;//记载插入数的下标
for (i = N - 1; i >= posi; i--)//将后面的数都后移一位
a[i + 1] = a[i];
a[posi] = t;
for (i = 0; i < N + 1; i++)//打印
printf("%d ", a[i]);
}
好文章就应该多点赞,这样才有更多的人看到!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)