C語言的問題關於輸出的資料小數保留求解

2022-10-02 14:50:20 字數 4388 閱讀 6245

1樓:匿名使用者

6代表輸出資料的位數,2代表小數的位數】

c語言 此題輸出的結果如何保留兩位小數

2樓:問明

#include

#include

char str[51];

int n,count,i;

int main()

scanf("%s",&str);

n=strlen(str);

count=1;

for(i=1;i{if(str!=str[i-1])count++;

else continue;

double ans;

ans=(float)n/count;

printf("%.2f",ans);

printf("%.2f",ans);是保留兩位小數n和count都是int型,用float強制轉換浮點型,才能得出帶小數的結果。

3樓:浪子_回頭

格式化輸出:printf("l=%.2lf",l),在%後點一個小數點,然後輸入需要保留小數的數量,就可以輸出想要的結果。

printf()函式是格式化輸出函式, 一般用於向標準輸出裝置按規定格式輸出資訊。

printf()函式的呼叫格式為: printf("《格式化字串》", 《參量表》)。

格式輸出,它是c語言中產生格式化輸出的函式(在 stdio.h 中定義)。用於向終端(顯示器、控制檯等)輸出字元。

格式控制由要輸出的文字和資料格式說明組成。要輸出的文字除了可以使用字母、數字、空格和一些數字符號以外,還可以使用一些轉義字元表示特殊的含義。

4樓:yangzhi涯

可以在輸出的時候限制小數點位數。

1、當輸出單精度浮點型float變數f時,可以用printf("%.2f", f)來使輸出結果保留兩位有效數字。

2、如果是雙精度浮點數double,就需要用%.2lf來使輸出結果保留2位小數。

下面討論浮點型的兩種型別。

1 .單精度浮點型(float)

單精度浮點型(float )專指佔用32位儲存空間的單精度(single-precision )值。單精度在一些處理器上比雙精度更快而且只佔用雙精度一半的空間,但是當值很大或很小的時候,它將變得不精確。

2 .雙精度型浮點型(double)

雙精度型,正如它的關鍵字"double "表示的,佔用64位的儲存空間。在一些現代的被優化用來進行高速數學計算的處理器上雙精度型實際上比單精度的快。

所有超出人類經驗的數學函式,如sin( ),cos( ) ,tan()和sqrt( )均返回雙精度的值。

5樓:匿名使用者

輸出結果時使用精度:printf("l=%.2lf",l)

6樓:

scanf(%.2f)

程式設計c語言輸入小數輸出整數求解~

7樓:匿名使用者

#include

void main()

可能是你電腦的問題。反正我是能執行的。而且結果是正確的

8樓:匿名使用者

對吧, 可能是你的問題啊

c語言小數保留問題

9樓:匿名使用者

printf("c=%6.2f",c);這一句和printf("c=%.2f",c);的區別是前一個限定了資料輸出寬度最小是6,而後一個沒有限定資料的寬度,有多寬輸出多寬。

如:c=12.3 前一個輸出前面會有1個空格,而後一個會頂頭起輸出12.

30為什麼用後一句測試時有兩個資料無法通過?

-----什麼意思?什麼現象?

10樓:匿名使用者

printf("c=%6.2f",c) 6代表輸出的字元所佔的寬度,2代表輸出字元的小數位數。printf("c=%.

2f",c)語法有錯誤 改為printf("c=%.2f",c)就行了 即在6和2之間添個」 . 「,如果還不行,可能就是軟體方面除了什麼問題,可以試著重新安裝一下vc

11樓:匿名使用者

%6.2指輸出浮點數共6位,其中小數點佔2位。%0.2僅指輸出的數小數點有2位,一般系統預設情況下也是輸出浮點數共6位,但當浮點數總長度超過6位時,以實際長度輸出

12樓:風之佐

好久不寫c,了可能是6為長度,小數保留2位,後面那個就是小數後保留2位

c語言:怎麼樣使結果輸出時保留一位小數;保留兩位小數?

13樓:蹦迪小王子啊

用定來點格式。

float 型 %.2f 就是源

小數bai2位,

du %.1f 就是小數zhi1位。

double 型 用dao %.2f 就是小數2位, %.1f 就是小數1位。

double 型 用 %.2lf 就是小數2位, %.1lf 就是小數1位。

擴充套件資料

算術運算子

用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。

關係運算子

用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

邏輯運算子

用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

位操作運算子

參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

賦值運算子

用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

14樓:金色潛鳥

用定點格式。

float 型 %.2f 就是小數2位, %.1f 就是小數專1位double 型 用屬 %.2f 就是小數2位, %.1f 就是小數1位

double 型 用 %.2lf 就是小數2位, %.1lf 就是小數1位

c語言,輸出保留幾位小數

15樓:金色潛鳥

最簡單的是 printf("%.4f")。

現在我們來捨近求遠:

(1) 用字串存放double型定點小數 資料,找到小數點位置,把小數點後第5位 置 字串 結束符,輸出 字串。

(2) 另一種,用 %g 格式,但它不一定 始終 有效。

#include

#include

main()

str[i+5]='\0';

printf("%s\n",str);

//try 2

y = ((int)(y*10000+0.5))/10000.0;

sprintf(str,"%g",y); // 用字串printf("%s\n",str);

printf("%g",y); // 直接輸出return 0;

}輸出:

7.6543

7.6543

7.6543

16樓:匿名使用者

整型數這樣乘以10000很容易溢位的,建議:

double x=1234.567890123;

long int y,yy;

y=(int)x;

x-=y;

x*=10000;

x+=0.5;

yy=(int)x;

x=yy;

x/=10000;

x+=y;

17樓:

不知道你可以用什麼辦法輸出,不能用printf的話也可以自己寫個迴圈逐字輸出

c語言中,在printf的資料格式中,資料輸出寬度是否包括小數點?

18樓:匿名使用者

是包含小數點的,小數點佔一位.比如printf("%6.2f",12.345);6.2 意思就是總寬度為6,包含小數點,小數位2位.所以結果是 空格12.34

19樓:我是

%3d 輸出的為三位,不足左補空格;

%m.nf 輸出的資料佔m列,其中有n位小數。不足左端不空格;

%m.nf與%m.nf基本相同,不足右補

20樓:匿名使用者

經常看到問這樣類似的問題,為什麼不親自試一下呢,真是不理解。

21樓:匿名使用者

這種問題自己寫**試試不就可以知道答案了麼?為什麼需要別人來解決一下呢?

c語言區分int資料正負的問題,C語言區分int資料正負的問題

型別是對一串二進位制位的解釋,這16bit有兩種解釋,有符號整數,有無符號整數。按有符號數來解釋,最高位是符號位,1表示負數,其值為 20840。按無符號數來解釋,值為44696。其實機器是不知道正負的 正負是給編譯器看的 程式編譯的時候正負就已經有區分啦 比如你如果用匯編的話就少了有符號和無符號這...

關於C語言的問題,求教,一個關於C語言的問題,求教!!

a b 是賦值 a b 是等號 這是新手長犯錯誤 c語言中經常犯的毛病!初學者必看!c 語言的最大特點是 功能強 使用方便靈活。c編譯的程式對語法檢查並不象其它高階語言那麼嚴格,這就給程式設計人員留下 靈活的餘地 但還是由於這個靈活給程式的除錯帶來了許多不便,尤其對初學c語言的人來說,經常會出一些連...

關於C語言的問題,關於C語言的一個問題 50

李易安阿噴 char 256 表示向記憶體申請256個位元組空間,你輸入一個名字之後可能只佔了幾個位元組,所以你把256改成20,30或者100對結果是沒有任何影響,你輸入的name最少要2個位元組,但是你如果把256這個去了的話,就會出錯,為啥呢,因為你這個char型別只是申請了1個位元組。放不下...