比较两个数还有三个数的大小
一.比较两个数的大小
我写了两种代码,有需要的朋友可以参考
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("请输入需要比较的两个数: "); scanf("%d %d", &x,&y); int ret = bidaxiao(x,y); printf("%d ", ret); return 0; }
这个函数里面我选择引用if来比较,也把三目运算法弄成注释了,这样做也就是为了用多种方法来求解这个问题。
二.比较三个数的大小
我这边写的有点繁琐,因为知识能力有限,也摸索了一会
先用主函数比较出三个中最大的一个,并且构建一个比较两个数大小的函数我选用的是void,不需要返回值直接打印出后两个的结果。主函数找到最大值之后,利用if语句排除最大值,然后把剩下的两个数放入构建函数中,利用比较两个数大小的方法来求出中间值还有最小值。
#include<stdio.h> void bidaxiao(int a, int b) { int mid, min; mid= a > b ? a : b; printf("输出最中间的值为:%d ", mid); if (mid == a) min = b; else min = a; printf("输出最小的值为:%d ", min); } int main() { int x, y, z, max; printf("请输入三个数: "); 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("输出最大值为:%d ", max); if (max == x) bidaxiao(y, z); else if (max == y) bidaxiao(x, z); else bidaxiao(x, y); return 0; }
最后代码运行如下
成功运行!
感谢阅读
上一篇:
92天倒计时,蓝桥杯省赛备赛攻略来啦~