老规矩先看效果
先满足伸手党的需求,上源码
#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;
}