问题及代码
题目描述
有一个长度为n的整数序列。请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。
输入
输入包括两行。 第一行为正整数n(1≤n≤10)。 第二行为n个正整数组成的序列。
输出
输出转换好的序列。数据之间用空格隔开。
样例输入
5
2 1 5 4 3
样例输出
1 2 3 4 5
/*烟台大学计算机学院 2016
作者: 马春澎
完成日期:2016年12月25日 */
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main()
{
int s[5];
int i,min,max,n,x=0;
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d",&s[i]);
}
max=min=s[0];
for(i=1; i<n; i++)
{
if(min>s[i])
{
min=s[i];
x=i;
}
}
s[x]=s[0];
s[0]=min;
for(i=1; i<n; i++)
{
if(max<s[i])
{
max=s[i];
x=i;
}
}
s[x]=s[n-1];
s[n-1]=max;
for(i=0; i<n; i++)
{
if(i!=n-1)
printf("%d ",s[i]);
else printf("%d",s[i]);
}
return 0;
}
运算结果
知识点总结
一维数组的综合应用
学习心得
要注意数组不要越界