求助!该代码可以AC常规的冒泡题,但过不了只冒一次的,谁能改改?
  • 板块学术版
  • 楼主JIANG_YANG
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/8/8 10:39
  • 上次更新2023/10/27 16:30:23
查看原帖
求助!该代码可以AC常规的冒泡题,但过不了只冒一次的,谁能改改?
752525
JIANG_YANG楼主2022/8/8 10:39

题目描述

输入 n(0 < n ≤ 100),再输入 n 个数,将这 n 个数经过一趟冒泡将最大值冐到最右边。

题目保证所有数据均在 int 的表示范围内。

输入格式

输入有 2 行,第 1 行输入 n,第 2 行输入 n 个整数。

输出格式

输出经过一趟冒泡后的 n 个整数,数字间用一个空格隔开。

输入输出样例

输入 5

6 5 1 3 2

输出

5 1 3 2 6

#include <bits/stdc++.h>
using namespace std;
int a[111111];
int main() {
	int n;
	cin>>n;
	int i,j;
	for(i=0; i<n; i++) {
		cin>>a[i];
	}
	for(i=0; i<n-1; ++i) {
		for(j=0; j<n-i; ++j) {
			if(a[j]<a[j+1]) {
				swap(a[j+1],a[j]);
			}
		}

	}

	for(i=n-1; i>=0; i--) {
		cout<<a[i]<<" ";
	}
	return 0;
}
2022/8/8 10:39
加载中...