插一个数到排好序的数组中(冒泡+rand函数)

插一个数到排好序的数组中(冒泡+rand函数),第1张

随机产生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]);
}

好文章就应该多点赞,这样才有更多的人看到!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/717111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存