⑴ 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