输入3个整数,从大到小输出出来

方法一:

思想:先找到3个数的最大值和最小值,然后将他们加起来减去最大值和最小值就可以求出中间值

#include
int main()
{
	int arr[3] = { 0 };         //用于把3个整数放进数组里
	int sum = 0;				//求和
	int middle = 0;             //中间值
	int i = 0;                 
	int min = 2147483647;	    //找最小值
	int MAX = -2147483647;      //找最大值
	for (i = 0; i < 3; i++)
	{
		scanf("%d", &arr[i]);
		sum = sum + arr[i];	    //求和
		if (arr[i] > MAX)
		{
			MAX = arr[i];       //找最大值
		}
		if (arr[i] < min)
		{
			min=arr[i];         //找最小值
		}
	}
	middle = sum - MAX - min;	//加起来减去最大值和最小值就可以求出中间值
	printf("%d %d %d", MAX, middle,min);
	return 0;
}

方法二

思想:将最大值放入a中,将最小值放入c中

#include
int main()
{
	int a = 0;	     //将最大值放在a
	int b = 0;
	int c = 0;		 //将最小值放在c	
	int res = 0;     //备用
	scanf("%d %d %d", &a, &b, &c);
	if (a < b)       //比较a和b哪个大,并将大的那个放入a中
	{
		res = a;
		a = b;
		b = a;
	}
	if (a < c)		 //比较a和c哪个大,并将大的那个放入a中
	{
		res = a;
		a = c;
		c = res;
	}
	if (c > b)		//比较c和b哪个最小,并将小的那个放入c中
	{
		res = c;
		c = b;
		b = res;
	}
	printf("%d %d %d", a, b, c);
	return 0;
}

你可能感兴趣的:(C语言题目,算法)