欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

zzulioj 1120: 最值交换

发布时间:2025/3/17 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 zzulioj 1120: 最值交换 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

最值交换

题目描述
有一个长度为n的整数序列。请写一个程序,先把序列中的最小值与第一个数交换,再把最大值与最后一个数交换。输出转换好的序列。 分别编写两个函数MinIndex()和MaxIndex()来计算最小值下标和最大值下标。
int MinIndex(int a[], int n); //函数返回数组a中最小元素的下标
int MaxIndex(int a[], int n); //函数返回数组a中最大元素的下标
数组元素的输出调用函数PrintArr()。
输入
输入包括两行。
第一行为正整数n(1≤n≤10)。
第二行为n个正整数组成的序列,保证没有重复元素。
输出
输出转换好的序列。数据之间用空格隔开。
样例输入 Copy
5
5 4 1 2 3

样例输出 Copy
1 4 3 2 5


#include<stdio.h> int Maxlndex(int a[],int n)//找最大值下标 {int i,max,x=0;max=a[0];for(i=1;i<n;i++){if(a[i]>max){max=a[i];x=i;}}return x; } int Minlndex(int a[],int n)//找最小值下标 {int i,min,y=0;min=a[0];for(i=0;i<n;i++){if(a[i]<min){min=a[i];y=i;}}return y; } void PrintArr(int a[],int n)//输出函数 {int i;for(i=0;i<n;i++){printf("%d ",a[i]);}printf("\n"); } int main() {int a[10];int i,n,c,b,t;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}c=Minlndex(a,n);t=a[c];a[c]=a[0];a[0]=t;b=Maxlndex(a,n);t=a[b];a[b]=a[n-1];a[n-1]=t;PrintArr(a,n);return 0; }

总结

以上是生活随笔为你收集整理的zzulioj 1120: 最值交换的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。