1. 程式人生 > >1863 Problem A C語言-數字交換

1863 Problem A C語言-數字交換

問題 A: C語言-數字交換

時間限制: 1 Sec  記憶體限制: 128 MB
提交: 326  解決: 102
[提交][狀態][討論版][命題人:外部匯入]

題目描述

輸入10個整數,將其中最小的數與第一個數對換,把最大的數與最後一個數對換。寫三個函式; ①輸入10個數;②進行處理;③輸出10個數。

輸入

10個整數

輸出

整理後的十個數,每個數後跟一個空格(注意最後一個數後也有空格)

樣例輸入

2 1 3 4 5 6 7 8 10 9

樣例輸出

1 2 3 4 5 6 7 8 9 10 
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
	//max可能在a[0]位置,此時調換最小值後下標不準確,故分開查詢調換
	int a[10];
	while (cin >> a[0]) {
		int index = 0;
		for (int i = 1; i < 10; i++) {
			cin >> a[i];
			if (a[i] < a[index]) {
				index = i;
			}
		}
		swap(a[0], a[index]);
		for (int i = 0; i < 10; i++) {
			if (a[i] > a[index]) {
				index = i;
			}
		}
		swap(a[9], a[index]);
		for (int i = 0; i < 10; i++)
			cout << a[i] << " ";
		cout << endl;
	}
	return 0;
}