C语言 条件运算符怎么比较小数

如题所述



main()
{
double a,b;
printf("输入a和b两个含小数的数字,空格分开:");
scanf("%lf %lf",&a,&b);
if  (a > b) printf("%lf > %lf",a,b);
else if ( a < b) printf("%lf < %lf",a,b);
else printf("%lf == %lf",a,b);
return 0;
}

上面是程序,比较两个小数的大小,下面是结果:


嘿嘿,忘记是条件运算了,程序改了一下,发上来:

#include <stdio.h>
main()
{
double a,b,max;

printf("输入a和b两个含小数的数字,空格分开:");
scanf("%lf %lf",&a,&b);

max=(a>b)?a:b;    //条件运算 

printf("大数是:%lf",max);
}

追问

你输2.3和2.5试试

追答

下面是输入2.3和2.5的结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-16
举个例子,如下:
#include<stdio.h>
void main()
{
int a=3,b=5,min;
min=a<b?a:b;
printf("%d\n",min);
}
补充:表达式1?表达式2:表达式3 就是如果表达式1为真则取表达式2为这个条件运算符的值,反之取表达式3
第2个回答  2013-09-16
直接用就是了,0.6<0.5这样不就Ok了?好像double类型的话比较有时候会出现一个小数点进位问题,这个应该也没影响的!
第3个回答  2013-09-16
比较小数时注意:一般比较大于小于,而不去做比较等于的条件运算,因为浮点数计数有时候会出现很小的误差比如0.2,有时候计数结果是0.199999999999999这样做精确等于运算就不合适了。
如果非要进行上述等于运算时,可先将两个数进行某精度上的四舍五入并利用整型截断小数点后面指定位数后再进行比较。
第4个回答  2013-09-16
比大小时直接用 > <,比 值是否相等要同时用< >在定点位数期间。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网