題目描述
輸入10個整數,将其中最小的數與第一個數對換,然後把最大的數與最後一個數對換。
寫三個函數; ①輸入10個數;②進行處理;③輸出10個數。
輸入
10個整數
輸出
整理後的十個數,每個數後跟一個空格(注意最後一個數後也有空格)
樣例輸入
2 1 3 4 5 6 7 8 10 9
樣例輸出
1 2 3 4 5 6 7 8 9 10
來源/分類
C語言
題目截圖:
思路:
坑,太坑啦。最大的數在第一個位置,最小的數在最後這樣就很難排序啦!
最後,多番嘗試。決定先解決最小的數放在第一位,在解決最大數放在最後!
詳細的看代碼吧,應該挺簡單的!
代碼:
#include <iostream>
using namespace std;
int a[10]={0};int i;
void get(int a[10])
{
for(i=0;i<10;i++)
cin>>a[i];
}
void change(int a[10])//應該一次一次解決!
{
int max,min,temp;min=a[0];max=a[0];int t=0;
for(i=0;i<10;i++)
{
if(min>=a[i])
{
min=a[i];
t=i;
}
}
temp=a[t];
a[t]=a[0];
a[0]=temp;
for(i=0;i<10;i++)
{
if(max<=a[i])
{
max=a[i];
t=i;
}
}
temp=a[t];
a[t]=a[9];
a[9]=temp;
}
void out(int a[10])
{
for(i=0;i<10;i++)
cout<<a[i]<<" ";
}
int main()
{
get(a);
change(a);
out(a);
}
代碼截圖:
執行結果: