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循环遍
- 下一篇: 前后落差大用什么词语_形容落差很大的成语