【ONE·C || 任意三个整数从大到小依次输出】

【ONE·C || 任意三个整数从大到小依次输出】,第1张

【ONE·C || 任意三个整数从大到小依次输出】

文章目录
  • 总言
  • 方法
    • 法一
    • 法二
    • 法三
    • 法四

总言

  遇到的一道编程题,感觉思路有很多,汇总一下方便比较总结。
  慢慢总结与补充。
  
  

方法 法一

  算是比较原始的计算,个人感觉这种写法有些复杂,相当于需要依靠自己列举出可能的情况,然后再用计算机语言表述出来。
  遇到更复杂更多的数就比较麻烦了。

#include 
int main(void)
{
	int a, b, c;
	printf("输入三个整数:");
	scanf("%d %d %d", &a, &b, &c);
	if (a > b)
	{
		if (a > c)
		{
			if (b > c)
				printf("%d %d %d", a, b, c);
			else printf("%d %d %d", a, c, b);
		}
		else printf("%d %d %d", c, a, b);
	}
	else if (b > c)
	{
		if (a > c)
		{
			printf("%d %d %d", b, a, c);
		}
		else printf("%d %d %d", b, c, a);
	}
	else printf("%d %d %d", c, b, a);
		
	return 0;
}

  
  

法二

  与法一相类似的方法,加入逻辑运算符相对来说更容易思考,但依旧有些复杂。
  这两种方法都比较偏向于数学思维。

#include 
int main(void)
{
	int a, b, c;
	printf("输入三个整数:");
	scanf("%d %d %d", &a, &b, &c);

	if (a > b && a > c)
	{
		if (b > c)
			printf("%d %d %d", a, b, c);
		else printf("%d %d %d", a, c, b);
	}
	else if (b > a && b > c)
	{
		if (a > c)
			printf("%d %d %d", b, a, c);
		else printf("%d %d %d", b, c, a);
	}
	else  if (c > a && c > b)
	{
		if (a > b)
			printf("%d %d %d", c, a, b);
		else printf("%d %d %d", c, b, a);
	}
	return 0;
}

  
  

法三
在这里插入代码片

  
  

法四

  待补。

#include 
int main(void)
{
	int a=0, b=0, c=0, min = 0;;
	printf("输入三个整数:");
	scanf("%d %d %d", &a, &b, &c);

	if (a < b)
	{
		min = a;
		a = b;
		b = min;
	}

	if (a < c)
	{
		min = a;
		a = c;
		c = min;
	}

	if (b < c)
	{
		min = b;
		b = c;
		c = min;
	}
	printf("%d %d %d", a, b, c);
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4752336.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-09
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存