输入十个整数,将其中最小的数和第一个数互换,把最大的数和最后一个数互换。写三个函数,1.输入十个数 2.进行处理 3.输出十个数。所有函数参数均用指针。
参考如下:
#include<stdio.h>
#include<stdlib.h>
void input(int *a);
void change(int *a);
void output(int *a);
int main(){
int a[10];
input(a);
change(a);
output(a);
}
void input(int *a)
{
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++)
scanf("%d", a + i);
}
void change(int *a)
{
int j, max, min, maxJ, minJ;
max = min = *a;
maxJ = minJ = 0;
for (j = 1; j < 10; j++)
{
if (*(a + j) > max)
{
max = *(a + j);
maxJ = j;
}
if (*(a + j) < min)
{
min = *(a + j);
minJ = j;
}
}
int t;
t = *a;
*a = *(a + minJ);
*(a + minJ) = t;
t = *(a + 9);
*(a + 9) = *(a + maxJ);
*(a + maxJ) = t;
}
void output(int *a)
{
int i;
printf("这十个数的新的顺序为:\n");
for (i = 0; i < 10; i++)
printf("%d ", *(a + i));
}
如有帮助,欢迎点赞+采纳哈!