比较两个数还有三个数的大小

一.比较两个数的大小

我写了两种代码,有需要的朋友可以参考

1.不构建函数来找出最大的数

#include<stdio.h>
int main()
{
	int x, y, z;
	scanf("%d %d", & x, &y);
	z = x > y ? x : y;//利用三目来求出最大值
	printf("%d", z);
	return 0;
}

2.构建外部函数来求出最大值

#include<stdio.h>
int bidaxiao(int x, int y)//返回值 函数名 参数
{
	if(x>y)
	{
		return x;
	}
	else { return y; }
	//return x > y ? x : y;//三目运算符 
}
int main()
{
	int x;
	int y;
	printf("请输入需要比较的两个数:n");
	scanf("%d %d", &x,&y);
	int ret = bidaxiao(x,y);
	printf("%dn", ret);
	return 0;
}

这个函数里面我选择引用if来比较,也把三目运算法弄成注释了,这样做也就是为了用多种方法来求解这个问题。

二.比较三个数的大小

我这边写的有点繁琐,因为知识能力有限,也摸索了一会

先用主函数比较出三个中最大的一个,并且构建一个比较两个数大小的函数我选用的是void,不需要返回值直接打印出后两个的结果。主函数找到最大值之后,利用if语句排除最大值,然后把剩下的两个数放入构建函数中,利用比较两个数大小的方法来求出中间值还有最小值。

#include<stdio.h>
void bidaxiao(int a, int b)
{
	int mid, min;
	mid= a > b ? a : b;
	printf("输出最中间的值为:%dn", mid);
	if (mid == a)
		min = b;
	else min = a;
		printf("输出最小的值为:%dn", min);
}
int main()
{
	int x, y, z, max;
	printf("请输入三个数:n");
	scanf_s("%d %d %d", &x, &y, &z);
	if (x > y && x > z)
		max = x;
	else if (y > x && y > z)
		max = y;
	else max = z;
	printf("输出最大值为:%dn", max);
	
	if (max == x)
		bidaxiao(y, z);
	else if (max == y)
		bidaxiao(x, z);
	else bidaxiao(x, y);
	
	return 0;
}

最后代码运行如下

成功运行!

感谢阅读

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>