(已经解决啦)遇到一个小问题

84 阅读1分钟

20220624 今天在完成写代码作业时遇到一个问题

作业要求输入3个数字,给这三个数字排序后再输出出来

我的代码是

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf_s("%d %d %d", &a, &b, &c);
	if (a < b)
	{
		int mid = a;
		a = b;
		b = mid;
	}
        //问题在下面这个if,重写就好了
	if (a < c);
	{
		int mid = a;
		a = c;
		c = mid;
	}
        //到这
	if (b < c);
	{
		int mid = b;
		b = c;
		c = mid;
	}
	printf("%d %d %d", a, b, c);
	return 0;
}

但是输入1 9 5之后输出的是 5 9 1

执行语句一步步测试后发现a<c的if有问题,索性删了重写就好了

	if (a < c)
	{
		int mid = c;
		c = a;
		a = mid;
	}