将三个数按从大到小输出

1、用if else语句将三个数从大到小输出
#include<stdio.h>
#include<Windows.h>
#pragma warning(disable:4996)

void get_max(int x, int y, int z)
{
	if (x > y&&x > z)//x最大时
	{
		printf("first=%d\n", x);
		if (y > z)
		{
			printf("second=%d\n", y);
			printf("third=%d\n", z);
		}
		else
		{
			printf("second=%d\n", z);
			printf("third=%d\n", y);
		}
	}
	else if (y > z)//y最大时
	{
		printf("first=%d\n", y);
		if (x > z)
		{
			printf("second=%d\n", x);
			printf("third=%d\n", z);
		}
		else
		{
			printf("second=%d\n", z);
			printf("third=%d\n", x);
		}
	}
	else//z最大时
	{
		printf("first=%d\n", z);
		if (x > y)
		{
			printf("second=%d\n",x);
			printf("third=%d\n", y);
		}
		else
		{
			printf("second=%d\n", y);
			printf("third=%d\n", x);
		}
	}
}

int main()
{
	int x, y, z;
	while (1)
	{
		printf("请输入三个数字:\n");
		scanf("%d%d%d", &x, &y, &z);
		get_max(x, y, z);
	}
	system("pause");
	return 0;
}
2、一般方法
#include<stdio.h>

#pragma warning(disable:4996)

void getMax(int a, int b, int c)
{
	int max;//从大到小输出
	do{
		if (a > b){
			if (a < c){
				printf("%d %d %d", c, a, b);
				break;
			}
			else if (b>c){
				printf("%d %d %d", a, b, c);
				break;
			}
			else{
				printf("%d %d %d", a, c, b);
				break;
			}
		}
		else{
			int max = 0;
			max = a;
			a = b;
			b = max;
		}
	} while (1);
}
int main()
{
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	getMax(a, b, c);
	
	system("pause");
	return 0;
}






猜你喜欢

转载自blog.csdn.net/zn_wuxunian/article/details/79846148