⑴ c语言 条件运算符怎么比较小数
举个例子,如下:
#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
⑵ C语言中浮点数减法的问题
浮点数的存储方式决定了它是会有误差的,可用modf()函数分出浮点数的整数部分和小数部分:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <math.h>
int main(void)
{
double a=345.78,aint,adec;
adec=modf(a,&aint); /*aint中将保存a的整数部分,函数将返回a的小数部分保存到adec中*/
printf("%g\n%lf",aint,adec);
return 0;
}
//---------------------------------------------------------------------------
⑶ C语言 条件运算符怎么比较小数
main()
{
doublea,b;
printf("输入a和b两个含小数的数字,空格分开:");
scanf("%lf%lf",&a,&b);
if(a>b)printf("%lf>%lf",a,b);
elseif(a<b)printf("%lf<%lf",a,b);
elseprintf("%lf==%lf",a,b);
return0;
}
上面是程序,比较两个小数的大小,下面是结果:
⑷ c语言的问题:为什么我程序中小数的比较总是比较错误
浮点比较 你要做一个精度误差的
比如 相等的比较是
abs(a - b) < 0.000001
一般
float 误差范围 0.000001f
double 误差范围 0.00000001
⑸ C语言怎么对小数进行判断
如果是数值的话,那么将原始的数值减去取整后的数值如果大于0就表示有小数 if ((n - (int)n) > 0) return = true; 如果是字符串的话,有两种方法,一种是将字符串转换为数值后用上面说的方法判断,另一种是逐字判断是否包含字符小数点“
⑹ C语言比较两个小数大小
#include <stdio.h>
main()
{
double a,b;
printf("input a b\n");
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;
}
----
如果是只比较2个数的小数部分大小:
a2 = a - (int) a;
b2 = b - (int) b;
再比较 a2,b2
⑺ 在c语言中要怎么来判断整数和小数啊比如说当在输入浮点型数据的时候我要提醒它出错要怎么做
#include
#include
#include
//char*strchr(constchar*str,intch);
intmain(intargc,char*argv[])
{
inta=0;
doubleb=0;
charstr[10]="";
scanf("%s",str);//先存成字符串
if(NULL==strchr(str,'.'))//等于NULL是没有找到小数点
{
sscanf(str,"%d",&a);//再从字符串格式化成整型
printf("输入的是整型:%d ",a);
}
else
{
sscanf(str,"%lf",&b);//再从字符串格式化成浮点型
printf("输入的是浮点型:%lf ",b);
}
system("PAUSE");
return0;
}
(7)c语言小数是否相等扩展阅读
C语言判断数字为几位数
#include <stdio.h>
int main()
{
long long n;
int count = 0;
printf("输入一个整数: ");
scanf("%lld", &n);
while(n != 0)
{
// n = n/10
n /= 10;
++count;
}
printf("数字是 %d 位数。", count);
}
⑻ C语言:怎么可以让我的程序比较小数的大小
scanf("%f,%f,%f",&a,&b,&c);要改成scanf("%lf,%lf,%lf",&a,&b,&c);
printf语句中也是,因max是double型的要改%f为%lf
如果想用%f输入输出,可以不做上述修改而将程序中double改成float