欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

C语言经典例67-数组最大值与最小值与数组元素交换

发布时间:2025/6/17 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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-数组最大值与最小值与数组元素交换的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。