Ⅰ 在c語言中,要想將一個數精確到小數點後幾位,應該怎樣做。
如果是輸出的話,可以用:
printf("%.4f",3.1415926);
Ⅱ 在C語言中的百分比怎麼精確到小數和保留整數四捨五入
#include <stdio.h>
int main()
{ int a,b,k;
printf("請輸入分子分母和百分比的小數位數: ");
scanf("%d%d%d",&a,&b,&k);
printf("%d/%d=%.*f%% ",a,b,k,a*100.0/b);
return 0;
}
Ⅲ C語言編程序時怎麼控制浮點型輸出的小數點精確到幾位
使用輸出格式說明符來指定精確到小數點位數。
如:
void main()
{
float a=345.234678;
printf("%.3f ", a) ;
}
其中%.3f里的3就表示輸出精確到小數點後3位。
所以可參考的形式是printf("%m.nf",p);
%m.nf,指定輸出的數據共佔m列,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。
(3)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語言輸入小數,精確到小數點後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語言怎麼讓輸出值是小數
利用C語言使輸出值為小數的編程方法和思想如下:
1.首先需要定義一個變數作為後續需要輸出的數。這里以定義一個變數a為例。需要注意的是,整型int是不支持轉化的。
Ⅵ 在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語言求高精度小數
//改了部分代碼
#include<stdio.h>
#include<math.h>
#defineN200//小數位數,方便調試
intmain(){
intm,n;
inti;
intj=0;
scanf("%d/%d",&m,&n);
if(m*n<0){//處理一下正負號:如果結果是負數時
printf("-");//先輸出負號
m=abs(m);//後面運算過程全部用正數來運算
n=abs(n);
}
printf("%d.",m/n);
m=m%n;
for(i=1;i<=N;i++){
if(m==0){//能整除時
printf("0");
continue;
}
j=10*m/n;
printf("%d",j);
m=10*m%n;
}
printf(" ");
return0;
}
Ⅷ C語言中……「計算結果保留三位小數。」怎麼表示
printf("%7.3f",100/3.0);表示結果佔七位,小數部分佔3位,這樣就可以了,並且小數點後第三位是四捨五入的結果。
例如:
C語言中浮點數輸出精確到兩位小數的語句如下:
double a=2.0;printf ("%.2f", a);//其中.2指明兩位小數
說明:如%9.2f
表示輸出場寬為9的浮點數, 其中小數位為2, 整數位為6,如果9預設則場寬為該數實際位數
規定符
%d 十進制有符號整數
%x, %X 無符號以十六進製表示的整數
%o 無符號以八進製表示的整數
%g 把輸出的值按照%e或者%f類型中輸出長度較小的方式輸出
%p 輸出地址符
%lu 32位無符號整數
%llu 64位無符號整數
(8)c語言精確表示小數擴展閱讀:
如果是實數的話,就不是這樣了,機器有兩種辦法表示實數,一種是定點,就是小數點位置是固定的,一種是浮點,就是小數點位置不固定,計算方法也比較麻煩,通常會比整數運算代價大很多。
FPU->Floating Point Unit,浮點運算部件。
BCD->Binary Coded Decimal 壓縮的二進制數,是用4個位來表示數字0~9,一個byte表示兩個十進制數,比如正常二進制數1001111表示79,而BCD中用 0111 1001 來表示79。
科學計數法:a×10的n次冪的形式。將一個數字表示成 (a×10的n次冪的形式),其中1≤|a|<10,n表示整數,這種記數方法叫科學記數法。
Ⅸ c語言如何讓輸出結果精確到兩位小數
可以在輸出的時候限制小數點位數。
1、當輸出單精度浮點型float變數f時,可以用printf("%.2f",
f);來使輸出結果保留兩位有效數字。其中.2就是代表保留兩位,如果要保留三位就是%.3f。用%.0f就是只輸出整數。
2、如果是雙精度浮點數double,就需要用%.2lf來使輸出結果保留2位小數。
Ⅹ c語言中小數怎麼表示
C語言中用於描述小數的數據類型是float和double,float類型表示單精度浮點數,double表示雙精度浮點數。
C語言中浮點數常量有兩種表示方式:
1、定點表示:(必須百有小數點)
如:0.123,
.123,
123.0。2、指數表示:(e或E之前必須有數字,指數必須為整數)如:12.3e3
,123E2,
1.23e4。錯誤的寫法:e-5
,1.2E-3.5,e3。
注意:浮點數常量默認為double類型,如果浮點數常量表示float類型,請在末尾添度加小寫的f或者大寫的F,表示此常量為單精度浮點常量。