Ⅰ 在c語言中如何指定精確到小數點後任意位數
Note1:
正數 x 四捨五入的技巧:
x --> (int)(x+0.5)
當 x=n+r, 0<=r<1,
若 0<=r<0.5, 則r+0.5<1, (int)(x+0.5)=(int)(n+r+0.5)=n
若 0.5<=r<1, 則1<= r+0.5, (int)(x+0.5)=(int)(n+r+0.5)=n+1
Note2:
舉例來說: 若正數要依捨去法精確到小數點後第二位
x --> (int)(x*100)/100 就好.
例如 3.2794 --> (int)(327.94)/100=327/100=3.27
Note3:
舉例來說: 若正數要四捨五入精確到小數點後第二位
x*100 四捨五入再除以100 就好
也就是 (int)(x*100+0.5)/100
Ⅱ C語言最多可以精確到小數點後幾位
十進制的15或16位有效數字,因此精確到小數點後最多有15或16位。
Ⅲ 怎麼用C語言實現精確到小數點後N位如題2-5
重寫了程序:
#include<stdio.h>
int main()
{ int a,b,c,i,n=0,k[30];
scanf("%d%d%d",&a,&b,&c);
do
{ printf("Case %d: ",++n);
for(i=0; i<=c; i++)
{ k[i]=a/b;
a=a%b*10;
}
if(a/b>4)k[c]++;
for(i=c; i>0&&k[i]>9; k[i]++)k[i--]-=10;
for(i=0; i<=c; i++)
{ if(i==1)putchar('.');
printf("%d",k[i]);
}
putchar(' ');
scanf("%d%d%d",&a,&b,&c);
}
while(a||b||c);
return 0;
}
Ⅳ C語言輸入小數,精確到小數點後10位
把scanf("%15.10f",&x);應該改成scanf("%15lf",&x);這樣就好了。
代碼中x是double型的,在輸入數據的時候是不允許使用%f的,double型的數據輸入必須使用%lf
還有,scanf("%15.10f",&x);15.10這個是不允許出現的,在數據輸入的時候只能指定輸入數據的總長度,不能指定小數點後的長度。
(4)c語言精確到位擴展閱讀:
scanf(函數原型
intscanf(constchar*restrictformat,...);
函數 scanf() 是從標准輸入流stdin(標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
Ⅳ C語言編程序時怎麼控制浮點型輸出的小數點精確到幾位
使用輸出格式說明符來指定精確到小數點位數。
如:
void main()
{
float a=345.234678;
printf("%.3f ", a) ;
}
其中%.3f里的3就表示輸出精確到小數點後3位。
所以可參考的形式是printf("%m.nf",p);
%m.nf,指定輸出的數據共佔m列,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。
(5)c語言精確到位擴展閱讀:
實型變數分為兩類:單精度型和雙精度型,
其類型說明符為float 單精度說明符,double 雙精度說明符。在Turbo C中單精度型佔4個位元組(32位)內存空間,其數值范圍為3.4E-38~3.4E+38,只能提供七位有效數字。雙精度型佔8 個位元組(64位)內存空間,其數值范圍為1.7E-308~1.7E+308,可提供16位有效數字。
實型變數說明的格式和書寫規則與整型相同。
例如: float x,y; (x,y為單精度實型量)
double a,b,c; (a,b,c為雙精度實型量)
實型常數不分單、雙精度,都按雙精度double型處理。
Ⅵ 在C語言中,要想將一個數精確到小數點後幾位,應該怎樣做。
如果是輸出的話,可以用:
printf("%.4f",3.1415926);
Ⅶ c語言如何精確小數點後指定位數
可以在輸出時,指定小數點後的有效位數,實現精確到若干位的效果。
要精確到小數點後若干位,則數據類型為浮點型,可能為單精度(float)或雙精度(double)。
在C語言中,使用格式化輸出函數printf來實現輸出。
輸出格式為
%.NF
1 %為格式化字元串的引導字元。
2 .N表示指定顯示N位小數。
3 F為類型字元,對於float, F值為f, 對於double,F值為lf。
舉例:
1 要輸出float a=1.23234; 保留3位小數的寫法為:
printf("%.3f",a);
2 輸出double b=123.345232; 保留4為小數,寫法為:
printf("%.4lf",b);
Ⅷ c語言精確小數位數會怎樣捨去後面的小數
1、正數x四捨五入的技巧:
doublex;
x=(int)(x+0.5);
2、舉例:若正數要依捨去法精確到小數點後第二位;
例如6.2367–>(int)(623.67)/100.0=623/100.0=6.23
doublex;
x=(int)(x*100)/100.0;//注意是除以100.0;
3、舉例:若正數要四捨五入精確到小數點後第二位,即x*100四捨五入再除以100;
x=(int)(x*100+0.5)/100.0;
(8)c語言精確到位擴展閱讀
C語言保留小數點後一位
例:
#include<stdio.h>
voidmain()
{
floata=1,b=2,c;//先定義一個實型數據
c=a/b;
printf("%.1f ",c);//重點在於%.1f
}