PPT8-21 10个数据.pdf
10个数据 输入10个整数,将其中最小的数与 第一个数对换,把最大的数与最后一个 数对换。要求,用指针实现。流程如下: (1)输入10个数; (2)进行数据处理; (3)输出10个数。 接收任务 解题思路:首先完成数据的输入,然 后找到10个数中最小的数与序列中 的第一个数交换,然后找到最大的数 与序列中最后一个数交换。 接收任务分析任务 1、完成数组的定义。 2、数组名作为函数参数传参,使用 指针作为函数形参,接收实参数组的 首地址,此时指针将直接对数组进行 操作。 接收任务分析任务提醒注意 接收任务分析任务提醒注意绘流程图 开始开始 int a10; process(a,10); 结束结束 input(a,10); output(a,10); 接收任务分析任务提醒注意绘流程图 开始开始 int a10; process(a,10); 结束结束 input(a,10); output(a,10); 对a数组输入数据 void input(int *a,int n) int i; printf(输入数据:n); for(i = 0;i < n;i+) scanf(%d,a+i); 接收任务分析任务提醒注意绘流程图 开始开始 int a10; process(a,10); 结束结束 input(a,10); output(a,10); 找到最大值以及最大值下标 找到最小值以及最小值下标 按照要求完成交换 按照要求完成交换 接收任务分析任务提醒注意绘流程图 开始开始 int a10; process(a,10); 结束结束 input(a,10); output(a,10);打印输出数组中的元素 void output(int *a,int n) int i; printf(输出数据:n); for(i = 0;i < n;i+) printf(%d ,*(a+i); printf(n); 解决问题 同学们,本次课程你学会了吗?如果,process的处理 变为如下方式,当找到最大值和最小值后,再统一交换,请 问,可以正确完成任务要求吗? process(a,10); 找到最大值以及最大值下标 找到最小值以及最小值下标 按照要求完成交换