冒泡排序(个人练习)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	int num;
	int num2;
	printf("请输入数组的取值范围:");
	scanf("%d %d", &num, &num2);
	int arr[5] = { 0 };
    srand(time(NULL));
	int len = sizeof(arr) / sizeof(int);
	int num4 = num2 + 1 - num;
	for (int i = 0; i < len; i++)
	{
		int num3 = rand() %num4 +num ;
/*随机数取心中想取的值 
        首先定义一个变量:最大取值+1-最小取值
        随机数除以变量再加最小取值,即可得到想要的范围
        例如:想取6-100
              101-6=95
              随机数除以95取余数就是0-94再加上6就是6-100了*/
		arr[i] = num3;
	}
	printf("数组顺序为:");
	for (int a = 0; a < len; a++)
	{
		printf("%d ", arr[a]);
	}//遍历数组
	for (int b = 0; b < len; b++)//确立几个数字已经比好大小
	{
		for (int j = 0; j < len - 1-b; j++)/*前后数字相互比较,最终会确定一个最大值并放在数列                                
                                             最右端*/    
/*因为j+1会超出数组里数组的数量所以要-1
-b是因为随着大小,大数字会不断往后移后面
已经大于前面了也不用取了*/
		{
			if (arr[j] > arr[j + 1])
			{
				int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}//交换数字
		}
	}
	printf("排列后数组顺序为:");
	for (int a = 0; a < len; a++)
	{
		printf("%d ", arr[a]);
	}
	return 0;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值