7-1 sdut- C语言实验—最值
分数 12
全屏浏览
切换布局
作者 马新娟
单位 山东理工大学
有一个长度为n的整数序列,其中最小值和最大值不会出现在序列的第一和最后一个位置。
请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。
输入格式:
输入包括两行。
第一行为正整数n(1≤n≤10)。
第二行为n个正整数组成的序列。
输出格式:
输出转换好的序列。数据之间用空格隔开。
输入样例:
6
2 3 8 1 4 5
输出样例:
1 3 5 2 4 8
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n];
int min_index=0,max_index=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int min=a[0],max=a[n-1];
for(int i=1;i<n-1;i++)
{
if(a[i]<min)
{
min=a[i];
min_index=i;
}
}
for(int i=1;i<n-1;i++)
{
if(a[i]>max)
{
max=a[i];
max_index=i;
}
}
int temp=0;
temp=a[0];
a[0]=a[min_index];
a[min_index]=temp;
temp=a[n-1];
a[n-1]=a[max_index];
a[max_index]=temp;
for(int i=0;i<n;i++)
{
if(i==0)
printf("%d",a[i]);
else
printf(" %d",a[i]);
}
return 0;
}
标签:index,temp,min,int,max,C语言,sdut,序列,最值
From: https://blog.csdn.net/2401_87661797/article/details/144336988