题目描述
编写程序,输入一个正整数n(n在[1,10]之间),接着输入n个整数,然后将最小值与第一个数交换,最大值与最后一个数交换,再输出交换后的n个数。
输入要求
输入一个正整数n(n在[1,10]之间),接着输入n个整数。(假设这n个整数互不相同)
输出要求
输出交换后的n个数。每个数据后面都跟一个空格,一行输出完毕后换行。
输入样例
样例1输入 6 19 87 3 -98 77 6 样例2输入 6 6 5 4 3 2 1
输出样例
样例1输出 -98 6 3 19 77 87 样例2输出 1 5 4 3 2 6 代码如下: #include<stdio.h> #include<math.h> int a[10000]; int main() { int n,i,j,mn,min,mx,max,t; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a[i]); } mn=1;min=1;mx=1;max=1; for(i=1;i<n;i++) { if(a[i+1]<=a[mn]) { mn=i+1; min=a[i+1]; } } j=a[1];a[1]=min;a[mn]=j; for(i=1;i<n;i++) { if(a[i+1]>=a[mx]) { mx=i+1; max=a[i+1]; } } t=a[n];a[n]=max;a[mx]=t; for(i=1;i<=n;i++) { printf("%d ",a[i]); } printf("\n"); }