/*****
題目描述
有乙個長度為n的整數序列。請寫乙個程式,先把序列中的最小值與第乙個數交換,再把最大值與最後乙個數交換。輸出轉換好的序列。 分別編寫兩個函式minindex()和maxindex()來計算最小值下標和最大值下標。
intminindex(int a, int n); //函式返回陣列a中最小元素的下標
intmaxindex(int a, int n); //函式返回陣列a中最大元素的下標
陣列元素的輸出呼叫函式printarr()。
輸入輸入包括兩行。
第一行為正整數n(1≤n≤10)。
第二行為n個正整數組成的序列,保證沒有重複元素。
輸出輸出轉換好的序列。資料之間用空格隔開。
樣例輸入 copy
55 4 1 2 3
樣例輸出 copy
1 4 3 2 5
*****/
!!!!!這裡有一點,在進行最小值交換以後,相應的最大值的下標可能就改變了,所以返回下標的函式不能直接是上下句的關係,應該是 先判斷在交換再判斷在交換。
!!!!!看著程式很長 其實一點都不複雜
#include
#include
void change (
int a,
int c,
int b)
;//交換陣列中兩個資料
void
printarr
(int a,
int n)
;//列印輸出陣列
void
inputarr
(int a,
int n)
;//輸入陣列
intminindex
(int a,
int n)
;//函式返回陣列a中最小元素的下標
intmaxindex
(int a,
int n)
;//函式返回陣列a中最大元素的下標
intmain()
intminindex
(int a,
int n)
//函式返回陣列a中最小元素的下標}if
(flag ==1)
return index;
else
return0;
}int
maxindex
(int a,
int n)
//函式返回陣列a中最大元素的下標}if
(flag ==1)
return index;
else
return0;
}void
printarr
(int a,
int n)
}void
inputarr
(int a,
int n)
}void
change
(int a,
int c,
int b)
1120 最值交換
有乙個長度為n的整數序列。請寫乙個程式,先把序列中的最小值與第乙個數交換,再把最大值與最後乙個數交換。輸出轉換好的序列。分別編寫兩個函式minindex 和maxindex 來計算最小值下標和最大值下標。int minindex int a,int n 函式返回陣列a中最小元素的下標 int max...
1457 最值交換
有乙個長度為n的整數序列。請寫乙個程式,先把序列中的最小值與第乙個數交換,再把最大值與最後乙個數交換。輸出轉換好的序列。分別編寫兩個函式minindex 和maxindex 來計算最小值下標和最大值下標。int minindex int a,int n 函式返回陣列a中最小元素的下標 int max...
最值交換 2
4.20分 從鍵盤輸入10個整數,用函式程式設計實現計算其最大值和最小值,並互換它們所在陣列中的位置。要求按如下函式原型編寫程式 void readdata int a,int n void printdata int a,int n void maxminexchang int a,int n 輸...