【问题描述】
输入10个整数,将其中的最小数与第一个数对换,将最大数与最后一个数对换。
要求编写3个函数:① 输入10个数;② 处理数据;③ 输出10个数。
要求用指针完成。
【参考代码】
#include <stdio.h>
void in(int* p)
{
printf("请输入十个整数:");
int i;
for (i = 0; i < 10; i++)
{
scanf("%d", p++);
}
}
void deal(int* p)
{
int i, min=0, max=0, temp;
for (i = 1; i < 10; i++)
{
if (*(p + min) > *(p + i)) min = i;
if (*(p + max) < *(p + i)) max = i;
}
temp = *p; *p = *(p + min); *(p + min) = temp;
temp = *(p + 9); *(p + 9) = *(p + max); *(p + max) = temp;
}
void out(int* p)
{
for (int i = 0; i < 10; i++) printf("%d ", *p++);
}
int main()
{
int a[10], * p = a;
in(p);
deal(p);
out(p);
return 0;
}