C语言经典例67-数组最大值与最小值与数组元素交换
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例67-数组最大值与最小值与数组元素交换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現
- 4 運行結果
1 題目
輸入數組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數組。
2 分析
本題的關鍵是找出數組的最大值與最小值的位置,找出位置后與數組相應的位置交換即可
3 實現
#include <stdio.h> #define N 10 // 假定數組大小為10int main() {int arr[N] = {4, 3, 1, 7, 8, 6, 0, 2, 9, 5};// 輸出數組元素printf("交換前數組元素的排列為:");for (int i = 0; i < N; i++) {printf("%d ", arr[i]);}int maxIndex = 0; // 保存最大的數的數組下標,初始為0int minIndex = 0; // 保存最小的數的數組下標,初始為0for (int i = 1; i < N; i++) {if (arr[maxIndex] < arr[i]) {maxIndex = i; // 若i位置的值比最大值還大,就令i為最大值位置}if (arr[minIndex] > arr[i]) {minIndex = i; // 若i位置的值比最小值還小,就令i為最小值位置}}// 最大的與第一個元素交換int t = arr[0];arr[0] = arr[maxIndex];arr[maxIndex] = t;// 最小的與第后一個元素交換t = arr[N - 1];arr[N - 1] = arr[minIndex];arr[minIndex] = t;// 輸出數組元素printf("\n交換后數組元素的排列為:");for (int i = 0; i < N; i++) {printf("%d ", arr[i]);} }4 運行結果
交換前數組元素的排列為:4 3 1 7 8 6 0 2 9 5 交換后數組元素的排列為:9 3 1 7 8 6 0 2 9 0總結
以上是生活随笔為你收集整理的C语言经典例67-数组最大值与最小值与数组元素交换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例66-输入3个数a,b,c,
- 下一篇: C语言经典例68-数组元素循环偏移