输入一串整型数据,从小到大排列,从大到小排列,大三了,你都还不会写的冒泡排序。超详细(不看必后悔系列)

老规矩先看效果

 先满足伸手党的需求,上源码

#include<iostream>
using namespace std;
void Fun(int n, int a[])
{
	int t=0;
	cout << "来,告诉朕!你要朕排列几个数:" << endl;
	cin >> n;
	cout << "请把这些数敲到下面:" << endl;
	for (int i = 0; i < n; i++)
	{
		cin>> a[i];
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			if (a[i] < a[j])
			{
				t = a[j];
				a[j] = a[i];
				a[i] = t;
			}
		}
	}
	cout<<"那!从小到大排序是酱紫的:" << endl;
	for (int i = 0; i < n; i++)
	{
		cout << a[i] << " ";
	}
	cout << endl;
}
int main()
{
	int n = 0;
	int a[10];
	Fun(n, a);
	system("PAUSE");
	return 0;
}

接下来是史上超级详细的附有注释的代码段。好好看,好好学。从此不再被大三的室友嘲笑

走上人生巅峰。哈哈哈 不开玩笑了。

对了,我的输出是从小到大输出的。从大到小只需要把小于改成大于,和一些提示语句的修改即可

#include<iostream>
using namespace std;
void Fun(int n, int a[])                 //老规矩不要让主函数一大堆,先写个函数,函数名Fun我随便取得名字
{                                        //Fun后面括号里的叫参数表,固定模板就这样写(死记),效果:这样才能    
	int t = 0;//定义一个临时变量交换值用 //从主函数中传值上来
	cout << "请输入您将要排序的整形数据的个数:" << endl;
	cin >> n;
	cout << "这些数分别是:" << endl;
	for (int i = 0; i < n; i++)//第一个循环将数组中的数输入到屏幕上
	{
		cin >> a[i];
	}
	for (int i = 0; i < n; i++)//以下第二个循环和第三个循环的意思是。第二个循环,取数组中的第一个数后进入第三个循环
	{                          //与数组中的每一个数进行比较(因为第三个循环要跑完一遍),随后回到第二个数组取第二个数
		for (int j = 0; j < n; j++)//再进入第三个循环与每一个数进行比较,知道直到第二个循环跑完,这个二,三循环结束
		{
			if (a[i] < a[j])//如果第二个循环中的数小于第三个循环中的某个数 用19 20 21三个代码实现把值交换
			{
				t = a[j];       //临时变量t,临时储存整形数据值
				a[j] = a[i];    //并实现值的交换
				a[i] = t;       //这三行代码,为什么实现值的交换,扣在评论区,给你讲解
			}
		}
	}
	cout << "从小到大排序是:" << endl;
	for (int i = 0; i < n; i++)   //因为二,三循环将你输入的每个数进行的大小比较并重新赋值了
	{	                          //所以第四个循环,将每个数组值挨个输出,没啥好说的	
		cout << a[i] << " ";      //那个那个<<"  ";是为了输出好看一点,没啥大用
	}                                 
	cout << endl;                 //换行  输出时好看一点 没啥大用
}
int main()
{
	int n = 0;//定义变量并初始化
	int a[10];//定义数组并初始化
	Fun(n, a);//传值(固定搭配就这样写)
	system("PAUSE");
	return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小白努力中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值