输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入10个整数;②进行处理;③输出10个数,每个数后跟一个空格
#include <stdio.h>
void input(int* number) { //定义输入10个数的函数
int i;
for (i = 0; i < 10; i++)
scanf_s("%d", &number[i]);
}
void max_min_value(int* number) { //交换函数
int* max, * min, * p, temp;
max = min = number; //开始时使max和min都指向第1个数
for (p = number + 1; p < number + 10; p++)
if (*p < *min)
min = p; //若p指向的数小于min指向的数,就使min指向p指向的小数
temp = number[0];
number[0] = *min;
*min = temp;
//将最小数与第1个数number[0]交换函数
for (p = number + 1; p < number + 10; p++)
if (*p > *max)
max = p; //若p指向的数大于max指向的数,就使max指向p指向的大数
temp = number[9];
number[9] = *max;
*max = temp;
//将最大数与最后一个数交换
}
void output(int* number) { //输出函数
int* p;
for (p = number; p < number + 10; p++)
printf("%d ", *p);
}
int main() {
int number[10];
input(number); //调用输入10个数的函数
max_min_value(number); //调用交换函数
output(number); //调用输出函数
return 0;
}