一.比较两个数的大小
我写了两种代码,有需要的朋友可以参考
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("%d\n", 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\n", mid);
if (mid == a)
min = b;
else min = a;
printf("输出最小的值为:%d\n", 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("输出最大值为:%d\n", max);
if (max == x)
bidaxiao(y, z);
else if (max == y)
bidaxiao(x, z);
else bidaxiao(x, y);
return 0;
}
最后代码运行如下
成功运行!
感谢阅读