欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个属兑换。写三个函数:1.输入10个数;2.进行处理;3.输出10个数

程序员文章站 2022-06-06 08:42:29
...

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个属兑换。写三个函数:1.输入10个数;2.进行处理;3.输出10个数

#include <stdio.h>
#include <stdlib.h>
void input(int *p, int len)
{
	for (int i = 0; i < len; i++)
	{
		scanf("%d", &p[i]);
	}
}
void exchange(int *p, int len)
{
	int max, min;
	int flag_min = 0;
	int flag_max = 0;
	max = p[0];
	min = p[0];
	int temp;
	for (int i = 0; i < len; i++)
	{
		if (max < p[i])
		{
			flag_max = i;
		}
		if (min > p[i])
		{
			flag_min = i;
		}
	}
	temp = p[flag_max];
	p[flag_max] = p[len-1];
	p[len-1] = temp;
	temp = p[flag_min];
	p[flag_min] = p[0];
	p[0] = temp;
}
void output(int *p, int len)
{
	for (int i = 0; i < len; i++)
	{
		printf("%d ", p[i]);
	}
}
int main()
{
	int a[10];
	input(a, 10);
	exchange(a, 10);
	output(a, 10);
	system("pause");
	return 0;
}

答案
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个属兑换。写三个函数:1.输入10个数;2.进行处理;3.输出10个数