210766 旗手

题目描述

导游往往喜欢从所带的旅游团中选一个身高最高的游客,站在旅游团的前面帮着拿旅行社的旗积。现在给定n个游客的身高(均为正整数)将身高最高的游客(如果身高最高的游客不唯一,那么选择最前面的那一个)和第一个游客调换位置,再依次输出他们的身高。

输入格式

第一行一个正整数n,1≤n≤10000表示有n个游客。 第二行包含n个正整数,之间用一个空格隔开,表示n个游客的身高。

输出格式

一行n个正整数,每两个数之间用一个空格隔开,表示调换位置后各个位置上游客的身高。

样例

样例输入

6
160 155 170 175 172 164
样例输出

175 155 170 160 172 164
数据范围与提示 分类标签

[循环] [语法基础]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

int n;
int zd;
int b;
int o;
int a[10001];


// The main procedure
int main() {
  cin>>n;
  for (int i = 0; i < n; i++) {
    cin>>a[i];
  }
  for (int j = 0; j < n; j++) {
    if (zd < a[j]) {
      zd = a[j];
      b = j;
    }
  }
  o = a[0];
  a[0] = zd;
  a[b] = o;
  for (int i = 0; i < n; i++) {
    if (i != 0) {
      cout<<" ";
    }
    cout<<a[i];
  }
  return 0;
}

Blockly题解代码图片