从键盘输入10个整数,用函数加指针计算其最大值最小值,并互换他们在数组中的位置
#include<stdio.h>
void exchange(int* max, int* min, int *num)
{
int max1 = *max;
for (int i = 0; i <= 9; i++)
{
if (*num == *min)
{
*num = max1;
}
else if (*num ==*max)
{
*num = *min;
}
num++;
}
}
void comp(int* max, int* min, int* num)
{
int i = 0;
*max = *num;
*min = *num;
while (i != 9)
{
num++;
if (*num>*max)
{
*max = *num;
}
if (*num<*min)
{
*min = *num;
}
i++;
}
}
void scale(int* num)
{
int i = 0;
for (i; i < 10; i++)
scanf_s("%d", &num[i]);
}
void prin(int num[], int len)
{
int i = 0;
while (i != len)
{
printf("%5d", num[i]);
i++;
}
}
int main(void)
{
int num[10];
scale(num);
int Max = 0, Min = 0;
int* a = &Max, * b = &Min;
comp(a, b, num);
exchange(a, b, num);
prin(num, 10);//输出
printf("\n最大值:%d,最小值:%d", *a, *b);
return 0;
}