程序设计入门13 指针对数组最大最小值定位下标
发布日期:2021-05-08 12:50:52 浏览次数:20 分类:精选文章

本文共 2061 字,大约阅读时间需要 6 分钟。

为了实现题目要求的整数交换操作,我们将使用三个函数来完成输入、处理和输出操作。这些函数将使用指针来处理数组,以符合题目要求。

输入函数

输入函数用于读取10个整数,并将它们存储在数组中。

#include 
#include
using namespace std;void input(int *array) { for (int i = 0; i < 10; i++) { scanf("%d", &array[i]); }}

处理函数

处理函数用于对数组进行交换操作,将最小值移到第一个位置,将最大值移到最后一个位置。

void swap_min_max(int *array) {    int min_val = array[0];    int max_val = array[0];    int min_index = 0;    int max_index = 0;        for (int i = 1; i < 10; i++) {        if (array[i] < min_val) {            min_val = array[i];            min_index = i;        }        if (array[i] > max_val) {            max_val = array[i];            max_index = i;        }    }        // 交换最小值到第一个位置    int temp = array[0];    array[0] = min_val;    array[min_index] = temp;        // 交换最大值到最后一个位置    temp = array[9];    array[9] = max_val;    array[max_index] = temp;}

输出函数

输出函数用于打印处理后数组的内容。

void output(int *array) {    for (int i = 0; i < 10; i++) {        printf("%d ", array[i]);    }}

主函数

主函数将调用这三个函数,并在最后输出结果。

#include 
#include
using namespace std;void input(int *array) { for (int i = 0; i < 10; i++) { scanf("%d", &array[i]); }}void swap_min_max(int *array) { int min_val = array[0]; int max_val = array[0]; int min_index = 0; int max_index = 0; for (int i = 1; i < 10; i++) { if (array[i] < min_val) { min_val = array[i]; min_index = i; } if (array[i] > max_val) { max_val = array[i]; max_index = i; } } // 交换最小值到第一个位置 int temp = array[0]; array[0] = min_val; array[min_index] = temp; // 交换最大值到最后一个位置 temp = array[9]; array[9] = max_val; array[max_index] = temp;}void output(int *array) { for (int i = 0; i < 10; i++) { printf("%d ", array[i]); }}int main() { int array[10]; input(array); swap_min_max(array); output(array); return 0;}

代码解释

  • 输入函数:使用scanf函数读取输入的10个整数,将它们存储在数组中。
  • 处理函数:遍历数组,找到最小值和最大值的位置,然后将它们分别交换到第一个和最后一个位置。
  • 输出函数:遍历数组,打印每个元素。
  • 通过调用这三个函数,可以完成题目要求的数据处理任务。

    上一篇:程序设计入门14 结构体
    下一篇:程序设计入门12 杨辉三角

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2025年03月21日 20时50分48秒