zzulioj 1120: 最值交换
生活随笔
收集整理的这篇文章主要介绍了
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: 最值交换的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: php遍历数组对象数组长度,PHP循环遍
- 下一篇: 前后落差大用什么词语_形容落差很大的成语