用指针实现,输入6个整数,把最小数与第1个数交换,最大数与最后1个数交换,其它数据不动。输入保证最大值和最小值唯一。请编写3个函数:(1)输入6个数;(2)进行处理函数;(2)输出6个数,每个数占3个宽度,左对齐。
时间: 2023-04-24 08:07:18 浏览: 132
利用指针将最小数与第一个数调换,最大数与最后一个数对换(C语言练习例程)
5星 · 资源好评率100%
输入6个数的函数:
```c++
void input(int* arr) {
for (int i = ; i < 6; i++) {
cin >> *(arr + i);
}
}
```
进行处理的函数:
```c++
void process(int* arr) {
int* max = arr;
int* min = arr;
for (int i = 1; i < 6; i++) {
if (*(arr + i) > *max) {
max = arr + i;
}
if (*(arr + i) < *min) {
min = arr + i;
}
}
int temp = *min;
*min = *arr;
*arr = temp;
temp = *max;
*max = *(arr + 5);
*(arr + 5) = temp;
}
```
输出6个数的函数:
```c++
void output(int* arr) {
for (int i = ; i < 6; i++) {
cout << left << setw(3) << *(arr + i);
}
}
```
完整代码如下:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
void input(int* arr) {
for (int i = ; i < 6; i++) {
cin >> *(arr + i);
}
}
void process(int* arr) {
int* max = arr;
int* min = arr;
for (int i = 1; i < 6; i++) {
if (*(arr + i) > *max) {
max = arr + i;
}
if (*(arr + i) < *min) {
min = arr + i;
}
}
int temp = *min;
*min = *arr;
*arr = temp;
temp = *max;
*max = *(arr + 5);
*(arr + 5) = temp;
}
void output(int* arr) {
for (int i = ; i < 6; i++) {
cout << left << setw(3) << *(arr + i);
}
}
int main() {
int arr[6];
input(arr);
process(arr);
output(arr);
return ;
}
```
阅读全文