题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数 与最后一个数对换。写3个函数: 输入10个数; 进行处理; 输出10个数。 要求:必须使用指针和函数调用。 并用c语言写出。
时间: 2023-12-04 19:20:31 浏览: 53
C语言实验-有3个整数a,b,c,由键盘输入,输出其中最大的数(或最小的数)。
以下是满足要求的C语言代码:
```c
#include <stdio.h>
void input(int *p); // 输入10个数的函数
void swap(int *p); // 进行处理的函数
void output(int *p); // 输出10个数的函数
int main()
{
int a[10];
input(a); // 调用输入函数
swap(a); // 调用处理函数
output(a); // 调用输出函数
return 0;
}
void input(int *p)
{
printf("请输入10个整数:\n");
for(int i = 0; i < 10; i++)
{
scanf("%d", p + i);
}
}
void swap(int *p)
{
int *max = p, *min = p;
for(int i = 1; i < 10; i++)
{
if(*(p + i) > *max)
{
max = p + i;
}
if(*(p + i) < *min)
{
min = p + i;
}
}
// 将最小的数与第一个数交换
int temp = *min;
*min = *p;
*p = temp;
// 将最大的数与最后一个数交换
temp = *max;
*max = *(p + 9);
*(p + 9) = temp;
}
void output(int *p)
{
printf("处理后的10个数为:\n");
for(int i = 0; i < 10; i++)
{
printf("%d ", *(p + i));
}
printf("\n");
}
```
阅读全文