题目
翻译
题目
小Chris对物理课感到无聊(因为太简单了)。所以他做了个玩具盒来保持清醒。这个盒子非常特别,因为它可以改变重力。
n
n
n列玩具方块按一行摆放在盒子里。第
i
i
i列有
a
a
ai个方块。起初,盒子的重力是向下的。当Chris改变重力后,重力方向就向右了。这图展示了初始和最终状态下的盒子中的方块情况:位置被改变的方块都以橘色高亮。
在给定最初状态下盒子里方块的情况下,求出重力转换后各列的方块数!
输入
第一行为整数 n ( 1 ≤ n ≤ 100 ) n(1≤n≤100) n(1≤n≤100),盒子中的列数。下一行有 n n n个以空格分隔得数字。第 i i i个数字 a a ai ( 1 ≤ a (1≤a (1≤ai ≤ 100 ) ≤100) ≤100)表示第 i i i列的方块数。
输出
输出 n n n个以空格分隔的整数,第 i i i个数表示重力转后后第 i i i列的方块数。
分析
按从小到大排个序就行了,因为无论怎样最大的都会往后。这里排序方法用的冒泡。
代码
#include<iostream>
using namespace std;
int main()
{
int n, arr[101];
int temp;
int i, j;
cin >> n;
for (i = 0; i < n; i++)
{
cin >> arr[i];
}
//冒泡排序
for (i = 0; i < n - 1; i++)
for (j = 0; j < n - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
//输出结果
for (i = 0; i < n; i++)
cout << arr[i] << " ";
}