Ⅰ c語言怎麼精確到小數點後7位(圖)
格式化輸出時輸出7位就可以了,即printf("%.7lf\n",i);
Ⅱ C語言小數位位數
思路:將輸入作為一個字元串處理,然後逆序遍歷
從第一個不為0的數字開始計數,直至遇到小數點字元
當集數超過5,對應"EX"
#include <stdio.h>
int main()
{
char s[100];
int i,cnt;
gets(s);
for(i;s[i];i++);
for(i--;s[i]=='0';--i);
for(cnt=0;s[i]!='.';--i,cnt++);
if(cnt<5)
printf("%d ",cnt);
else
printf("EX ");
return 0;
}
Ⅲ C語言-浮點數冒泡排序
為什麼一個冒泡用那麼復雜,直接用一個浮點數組排列不就行了嗎?
Ⅳ C語言小數
這個很簡單。printf("%.2f\n",x);當然x是float型的。輸出就是兩位小數。就是在f前+小數點+保留小數的位數。
Ⅳ C語言小數問題
C語言中用來存儲小數的doube(雙精度數)是8個位元組。整數部分4個位元組,小數部分4個位元組。
4個位元組一共能夠表達4294967296個數字,而小數中0到1之間有無窮個小數,所以計算機是無法表示真正精確的小數的。
Ⅵ c語言怎麼比較多個浮點數大小並使其從大到小排列
這個,c語言裡面的排序演算法是通用的吧,先這些數據存放在一個數組裡面,然後,用簡單排序演算法進行排序,可以選擇從大到小排列,然後數組遍歷循環以後就可以輸出了。
Ⅶ C語言輸入小數,精確到小數點後10位
把scanf("%15.10f",&x);應該改成scanf("%15lf",&x);這樣就好了。
代碼中x是double型的,在輸入數據的時候是不允許使用%f的,double型的數據輸入必須使用%lf
還有,scanf("%15.10f",&x);15.10這個是不允許出現的,在數據輸入的時候只能指定輸入數據的總長度,不能指定小數點後的長度。
(7)C語言小數排序擴展閱讀:
scanf(函數原型
intscanf(constchar*restrictformat,...);
函數 scanf() 是從標准輸入流stdin(標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
Ⅷ c語言從鍵盤接收任意十個小數,按從小到大的順序依次進行排列,並輸出排序後的十個小數。
# include<stdio.h>
void main()
{
float a[10],k;
int i,j;
for(i=0;i<=9;i++)
scanf("%f",&a[i]);
for(i=0;i<=9;i++)
for(j=i+1;j<=9;j++)
if (a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
for(i=0;i<=9;i++)
printf("%f ",a[i]);
}
Ⅸ C語言編程序時怎麼控制浮點型輸出的小數點精確到幾位
使用輸出格式說明符來指定精確到小數點位數。
如:
void main()
{
float a=345.234678;
printf("%.3f ", a) ;
}
其中%.3f里的3就表示輸出精確到小數點後3位。
所以可參考的形式是printf("%m.nf",p);
%m.nf,指定輸出的數據共佔m列,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。
(9)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型處理。