初级光能
题目描述 Description
给定一个整数序列,找出其中最大和最小值所在的位置,并将最大值和最小值所在位置对调,其他数值的位置保持不变,并输出此序列。(若有多个最大值,则选择最右边的最大值;若有多个最小值,则选择最左边的最小值)。
输入描述 Input Description
输入为两行:
第一行为整数N,表示序列的的长度;(N≤100)
第二行为N个整数,每个数之间以单个空格隔开(0~10000)。
输出描述 Output Description
输出为一行,为最值对调后的整数序列
样例输入 Sample Input
10 1 2 3 1 4 5 10 6 10 8
样例输出 Sample Output
10 2 3 1 4 5 10 6 1 8
新手光能
int a[105],n;
int maxn=0,maxi=0,minn=10000,mini=0;
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(a[i]<minn){ minn=a[i]; mini=i; }
if(a[i]>=maxn){ maxn=a[i]; maxi=i; }
}
swap(a[maxi],a[mini]);
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
望采纳!!
初级光能
#include<iostream>
using namespace std;
long long cnt,cnt2;
int a[105];
int main(){
int n,tmp;
int maxn=-0x3f3f3f3f;
int minn=0x3f3f3f3f;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(a[i]>maxn){
maxn=a[i];
cnt=i;
}
if(a[i]<minn){
minn=a[i];
cnt2=i;
}
}
for(int i=1;i<=n;i++){
tmp=cnt;
cnt=cnt2;
cnt2=tmp;
cout<<a[i]<<" ";
}
return 0;
}
//我的代码
缔造者之神
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]>=maxn)
{
maxn=a[i];
b=i;
}
if(a[i]<minn)
{
c=i;
minn=a[i];
}
}
swap(a[b],a[c]);
望采纳!
缔造者
for(int i=1;i<=c;i++){ cin>>a[i]; if(a[i]>=max) { max=a[i]; d=i;} if(a[i]<min) { min=a[i]; e=i;} } a[d]=min; a[e]=max; for(int i=1;i<=c;i++){ cout<<a[i]<<" "; }