三个数从大到小输出最详细讲解

2023-10-10 14:34:04 浏览数 (1)

1.大致写出代码的轮廓

代码语言:javascript复制
//代码块1
int main() {
	int a = 0;
	int b = 0;
	int c = 0;
	int d = 0;
	scanf("%d %d %d", &a, &b, &c);
	


	printf("%d %d %d",a,b,c );
	return 0;
}

2.逻辑引导

以如上代码为参考,如果想进一步实现从大到小的排列该如何处理呢?

需要比较a,b,c的大小,并将最大值赋给a,将最小值赋给c,剩下的值赋给b;

那么就需要实现三个变量之间的转换:

三个变量该如何转换呢?

两杯都盛有不同颜色水的杯子,如果想交换两个杯子中的水该如何交换呢?

那么必然需要第三个空杯子

代码语言:javascript复制
//代码块2
	if (a < b)
		t = a;
		a = b;
		b = t;    

在代码块1中加入如上代码块2即可实现a与b的转换,

上面我们比较了a与b的大小,要想实现三个变量之间的转换还需要进行a与c,b与c的比较

3.完整代码展示与调试:

代码语言:javascript复制
int main() {
	int a = 0;
	int b = 0;
	int c = 0;
	int t = 0;
	scanf("%d %d %d", &a, &b, &c);
	if (a < b)
	{
		t = a;
		a = b;
		b = t;
	}
	if (a < c)
	{
		t = a;
		a = c;
		c = t;
	}
	if (b < c)
	{
		t = b;
		b = c;
		c = t;
	}
	printf("%d %d %d",a,b,c );
	return 0;
}

输入1 2 3

代码运行如下图:

0 人点赞