|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
void main()
{
int a, b, c, me;
printf("input 3 integer:");
scanf("%d%d%d", &a, &b, &c);
if (a>b)
{
me = a;
a = b;
b = me;
}
if (a>c)
{
me = a;
a = c;
c = me;
}
if (b>c);
{
c = b;
}
printf("min=%d,max=%d\n", a, c);
}
题目是输入3个整数 输出最大的数和最小的数, 为什么运行以后输出 456 的结果是min=4 max=5; 请问哪里有逻辑错误?
只是找最大最小值啊。那前两个if中也没必要交换。
有更简单的方法。
三目运算符 ? :
- #include <stdio.h>
- void main()
- {
- int a, b, c, min,max;
- printf("input 3 integer:");
- scanf("%d%d%d", &a, &b, &c);
- max=(c>b&&c>a)?c:(a>b)?a:b;
- min=(c<a&&c<b)?c:(a<b)?a:b;
- printf("min=%d,max=%d\n", min, max);
- }
复制代码
|
|