『壹』 c語言如何控制輸入的數只能保留小數點後六位。例如,我硬是輸0.1234568 但是程序還是按0.123456算
scanf("%8f",&a)
scanf()函數的一般格式為:scanf("格式字元串",輸入項首地址表)
scanf的格式控制的一般形式為:% • [寬度][F|N][h|l]類型字元 * []中的控制字元為可選項 * "*"表示該輸入項讀入後不賦予任何變數,即跳過該輸入值。這在減小內存開支上面還是有一點用處的,不需要的字元直接跳過,免得申請沒用的變數空間 * "寬度"表示輸入讀入字元的長度,對於整型表示截取相應寬度的數字賦給後面列表中的相應變數;對於字元型表示讀入相應長度的字元後把第一個字元賦給相應的變數,其餘的自動舍棄。例如scanf("%2d%3d",&a, &b);如果輸入為12345則將12賦給a,將45賦給b;scanf("%2c%3c",&a, &b);如果輸入為12345則將'1'賦給a,將'3'賦給b * F 、N、h、l分別表示遠指針、近指針、短整和長整型,對於_int64相應的控制字元為ll或I64 * "類型字元"為 d -- 輸入十進制整數 、o -- 輸入八進制整數 、x -- 輸入十六進制整數 、u -- 輸入無符號十進制整數 f或e -- 輸入實型數(用小數形式或指數形式) 、c -- 輸入單個字元 、s -- 輸入字元串
『貳』 C語言中單精度浮點值為什麼保留到小數點後六位
...這是內部設定...
系統默認6位
printf("%a.bf\n",c);可以自己定長度
a代表總長度,b代表小數點後面的長度
您好,很高興為您解答,流星不死為您答疑解惑
如果本題還有不懂的地方請追問,望採納我的回答。
祝樓主學習進步。
『叄』 如何用C語言求正弦函數,要求精確到小數點後六位
/*泰勒公式求sin(x)*/
#include<stdio.h>
#include <math.h>
main()
{
double x,s1,e,s=0;
int n=1;
printf("輸入x和誤差范圍e:\n");
scanf("%lf %lf",&x,&e);/*誤差上限e要盡量取小,如取e為0.0000001。這里我們將e取為0.000001*/
s1=x;
do
{
s+=s1; /*s1為中間變數*/
s1=-s1*x*x/(n+1)/(n+2);
n+=2;
} while (fabs(s1)>=e);/*fabs為對實數求絕對值的函數*/
printf("x=%lf\nsin(x)=%lf\n",x,s);
}
『肆』 C語言:計算圓周率(精度保留到小數點後6位),用程序實現,公式如下:
#include<stdio.h>
#include<math.h>
int main()
{double pi=1,t=0;
for(;t<1.9999999;)
{t=sqrt(2+t);
pi*=2/t;
}
printf("%lf ",pi*2);
return 0;
}
『伍』 怎麼用C語言表達兩個數的平均數保留小數點後6位
int main()
{
double x,y;
printf("Please Input to real number!");
scanf("%lf,%lf",&x,&y);
/* 加0.05把小數點後第二位四捨五入到小數點第一位*/
/*%.1lf只輸出 到小數點後第一位。*/
printf("%.1lf",((x+y)/2+0.05));
//為了看見結果加上這一句。
//while(getchar()!='q');
}
『陸』 C語言 計算該組數的平均值並輸出,個數保留小數點後6位。
#include"stdio.h"
int
main()
{
double
a,b,c,ans;
scanf("%lf%lf%lf",&a,&b,&c);
ans=(a+b+c)/3;
printf("%.1lf\n",ans);//格式化輸出1位小數,後面自動四捨五入的
return
0;
}
『柒』 C語言中怎麼取得小數點後面的數
float a = 3.1415926;
float d;
d = a - (int) a; // 用這個計算取得小數點後的數
printf("%f %f\n",a, d );
『捌』 C語言中%f表示的是什麼,為什麼有時小數點後保留6位,有時小數點後保留1位
printf("%f",fVal);//這是浮點默認輸出格式,小數點保留6位
printf("%.1f",fVal);//.1是說明,小數點保留1位,對其後的數據進行四捨五入
printf("%.2f",fVal);//.2是說明,小數點保留2位,對其後的數據進行四捨五入,你想保留幾位,就用點幾
printf("%10f",fVal);//輸出寬度為10個字元,右對齊,前補空格,小數點保留6位
printf("%10.2f",fVal);//輸出寬度為10個字元,右對齊,前補空格,小數點保留2位
在格式化輸出中,%f和%e默認都是都是六位,不過%e輸出的話冪級數也佔三位。
%10.3f
整個輸出佔10格(含.±號)小數佔3格
默認
%f效果等於0.123456
%e效果等於0.12345e+01
float類型的精度,只能保證前6位是絕對精確的,而第7位可能是准確的,也可能是近似的。在設計時,列印浮點數是默認的六位數字。超過6位輸出不精確的值,意義不大。如果第七個數字不準確,第八個數字就完全沒有意義。小於6,有效數字更小。
(8)c語言取小數點後六位擴展閱讀:
如果存儲比精度更重要,可以考慮對浮點變數使用浮點類型。相反,如果精度是最重要的條件,則使用double。
浮點變數可以提升為更大的基數類型(從float到double)。當您對浮點變數執行運算時,通常會發生提升。該演算法的執行精度始終與精度最高的變數相同。例如,考慮以下類型聲明:
floatf_short;doublef_long;longdoublef_longer;f_short=f_short*f_long;
在前面的例子中,變數f_short被提升為double類型並乘以f_long;然後,結果循環為float類型,然後循環為f_short。