P291 3.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
写3个函数:①输入10个整数②进行处理③输出10个数。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
void inputt(int* arr);
void change(int* arr);
void outputt(int* arr);
int arr[10] = { 0 };
inputt(arr);//输入
change(arr);//对换
outputt(arr);//输出
return 0;
}
//输入
void inputt(int* arr) {
printf("请输入10个整数:");
int i = 0;
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
}
void change(int* arr) {
int* max, * min;
int i = 0, tmp = 0;
max = min = arr;
//对换最小数
for (i = 1; i < 10; i++) {
if (*min > *(arr + i)) {
min = arr + i;
}
}
tmp = arr[0]; arr[0] = *min; *min = tmp;
//对换最大数
for (i = 1; i < 10; i++) {
if (*max < *(arr + i)) {
max = arr + i;
}
}
tmp = arr[9]; arr[9] = *max; *max = tmp;
}
//输出
void outputt(int* arr) {
printf("兑换后的数组为:");
int i = 0;
for (i = 0; i < 10; i++) {
printf("%d ", *(arr + i));
}
}
运行结果: