#include
int f(int *a,int n)
{
int max,min;
max=min=0;
for(int i=0;i if(a[i]>a[max]) max=i;
#include "stdio.h"
void f(int x[],int n)
{
int max=x[0],min=x[0],i;
int max_locate=0,min_locate=0;
for(i=1;i { if (max < x[i]) { max = x[i]; max_locate=i; } if(min > x[i]) { min = x[i]; min_locate=i; } } x[max_locate]=x[n-1]; x[n-1]=max; x[min_locate]=x[0]; x[0]=min; } int main() { int x[10] = {},i; printf("输入10个数:"); for(i=0;i<10;i++) scanf("%d",&x[i]); f(x,10); printf("对换后:"); for(i=0;i<10;i++) printf("%d ",x[i]); printf("\n"); return 0; }
你可以按照以下方式编写自定义函数f和主函数:
```python
def f(x):
min_index = x.index(min(x)) # 找到最小值的索引
x[0], x[min_index] = x[min_index], x[0] # 将最小值与第一个数对换
max_index = x.index(max(x)) # 找到最大值的索引
x[-1], x[max_index] = x[max_index], x[-1] # 将最大值与最后一个数对换
def main():
# 输入数组
nums = input("请输入以空格分隔的数字: ").split()
nums = [int(num) for num in nums]
# 调用自定义函数f
f(nums)
# 输出结果
print("交换后的数组:", nums)
# 调用主函数
main()
```
在主函数中,首先输入一组以空格分隔的数字,然后将其转换为整数类型的列表。接下来,调用自定义函数f,传入这个列表作为参数。在自定义函数f中,通过找到最小值和最大值的索引,并与第一个数和最后一个数进行对换。最后,在主函数中输出交换后的数组结果。
注意:这个函数假设输入的n个数互不相同。若输入包含相同的数,则可能出现重复的数被交换的情况。