① c語言中保留兩位小數如何寫
輸出時?%.2f 即可指定輸出兩位小數 。
例題:
356.f表示什麼:舉個例子:%a.bf (a,b均為整數) 是說輸出時按浮點數輸出,共佔a位。其中小數部分b位(若數值本身位數不足,後補0;超過則截斷),小數點1位,整數部分a-b-1位(不足,前補空格;超出則按實際位數輸出)。 當a或b為空時,a或b按系統默認取值。 所以356.f 就是一共輸出356位(前面很多空格),小數部分則按系統默認輸出6位。
前面沒有百分號:沒有%啊,那就直接輸出356.f 不過,這樣可能會出現錯誤:前面的變數輸出描述和後面的變數不對應。
② C語言編寫函數,對浮點數保留兩位小數,對第三位四捨五入。程序如下 #include<stdio.h
#include<math.h>
voidsum(floatx)
{
floata,b,c,d;
intf;
c=100*x;
b=floor(c);
a=1000*x;
d=(a-10*b);
f=floor(d);
printf("%d",f);
if(f<5)
{x=x; printf("%.2f",x);}
if(f>5)
{x=x+0.01;
printf("%.2f",x-0.01);}
if(f=5)//這里寫成了賦值語句,應該是==
{printf("%.2f",x+0.01);}
}
main()
{
floatx;
scanf("%f",&x);
sum(x);
}
③ C語言如何實現輸出浮點數小數點兩位(四捨五入法),但若小數點最後位為零則捨去
要對某個浮點數比如x保留到小數點後兩位,可以將x乘以100,變成對這個數進行四捨五入到個位。
double f(double x)
{
double j = (x>=0?1.0:-1.0); //j是符號
return int(abs(x)*100+0.5)/100.0*j; //進行四捨五入,注意考慮正負號
}
④ C語言保留兩位小數的問題
你給的代碼是有錯誤的,但你說運行結果是0.00000,我暫且認為你的代碼是這樣的:
#include <stdio.h>
double a = 0.9876;
int main(void)
{
printf("%f", (int)((a + 0.005) * 100) / 100);
return 0;
}
((0.9876
+
0.005)
*
100)
/
100)
的結果是0.9926。因為
(int)
強制轉換使0.9926取整,變成整型數字0。又因為「%f」的轉換說明要求輸出浮點數,程序給0後補零,變成0.000000。
你的題目是「C語言保留兩位小數的問題」,想給該程序結果保留兩位小數,應將代碼改成:
#include <stdio.h>
double a = 0.9876;
int main(void)
{
printf("%.2f", ((a + 0.005) * 100) / 100);
return 0;
}
「%.2f」就是輸出結果為保留小數點後兩位的浮點數。但這里不是四捨五入,是直接截取。
⑤ c語言編程序實現:一個帶有兩位小數的浮點數的四捨五入。怎麼做
其實C語言本來就提供四捨五入的功能,關鍵是你要輸出小數的幾位。
要輸出幾位,就在輸出時 「 %0.*f」 的 「 * 」 處填多少就行了。O(∩_∩)O~
# include <stdio.h>
int main()
{
float a; //定義一個浮點數a
scanf("%f", &a); //輸入a
printf("%0.1f", a); //輸出a,對a小數點後兩位進行四捨五入
return 0;
}
⑥ c語言浮點數保留固定小數
#include<stdio.h>
#include<string.h>
intmain()
{
doublea=10.4356,b;
chars[50];
sprintf(s,"%.2lf",a);//輸入到字元串
sscanf(s,"%lf",&b);//從字元串中讀入
printf("%lf ",b);
return0;
}
⑦ c語言如何讓輸出結果精確到兩位小數
可以在輸出的時候限制小數點位數。
1、當輸出單精度浮點型float變數f時,可以用printf("%.2f",
f);來使輸出結果保留兩位有效數字。其中.2就是代表保留兩位,如果要保留三位就是%.3f。用%.0f就是只輸出整數。
2、如果是雙精度浮點數double,就需要用%.2lf來使輸出結果保留2位小數。
⑧ 用C語言怎麼實現浮點數的四捨五入,保留兩位小數點
C語言怎麼實現浮點數的四捨五入,保留兩位小數的設計過程為:
定義浮點點數變數df,輸入浮點數
浮點數df擴大100倍
浮點數df增加0.5
利用floor()函數得到最接近df數,但不大於df的整數(完成四捨五入)。不能用int強制轉換,否則,數據超過int范圍就會出現錯誤。
浮點數df縮小100倍得到有兩位小數的浮點數
按%.2f輸出結果。
參考代碼:
#include<stdio.h>
#include<math.h>
voidmain()
{
doubledf=0;
printf("inputd:");scanf("%lf",&df);
df*=100;
df+=0.5;
df=floor(df);
df/=100;
printf("d=%.2f ",df);
}
⑨ C語言 此題輸出的結果如何保留兩位小數
#include<stdio.h>
#include<string.h>
char str[51];
int n,count,i;
int main()
{
scanf("%s",&str);
n=strlen(str);
count=1;
for(i=1;i<n;i++)
{if(str<i>!=str[i-1])
count++;
else continue;
}
double ans;
ans=(float)n/count;
printf("%.2f",ans);
}
printf("%.2f",ans);是保留兩位小數
n和count都是int型,用float強制轉換浮點型,才能得出帶小數的結果。
(9)C語言浮點數保留兩位擴展閱讀:
在c語言中產生格式化輸出的函數(定義在 stdio.h 中),其向未重定向終端(顯示器、控制台等)輸出字元。
Format 參數是包含三種對象類型的一個字元串:
* 無格式字元復制到輸出流;
* 轉換規范,每個規范導致在值參數列表中檢索 1 個或更多個項;
* 轉義序列。
通常意義上format的格式如下:
%[flags][width][.prec][F|N|h|l]type
⑩ c語言中 如何輸出小數點後保留2位小數的實型常量
1、在c語言中一個數保留2位小數可以通過精度限定符來完成,精度限定符有一個點號後跟一個整數組成。
2、示例:
#include<stdio.h>
intmain()
{
dobulea=1.23456;
printf("%.2f ",a);
return0;
}
/*
輸出:1.23
*/
注意:這里保留小數是四捨五入的,即如果保留的小數位數的後一位大於等於5,則進1,否則捨去,如示例中的a的值改為1.23556,則會輸出1.24。