㈠ c語言輸入十個分數(浮點型),去掉最高分和最低分後求平均分,保留一位小數
去掉最值可以用選擇法找到最高分和最低分。後面的沒明白你說的,能不能詳細點
㈡ C語言中float數據類型保留幾位有效數字
float數據
機器內是2進制數,
1位符號位
8位指數位
23位「尾數」位
共32
位
2進制數。
平時講
有效數字
是6~7位
,指10進制。
通常程序輸入的數是10進制,進入機器後要化成2進制,計算完又轉十進制輸出。
10進制到2進制,2進制到10進制
轉換,有的數化不凈,有的數化得凈。
如同10進制分數化10進制小數,有的化得凈(例如
4分之1,變0.25),有的化不凈(例如
3分之1,變0.33333....)。
10進制到2進制,2進制到10進制
轉換,化得凈的效數字7位,化不凈的效數字6位,因為最後一位有舍入誤差。
例如:
float
x,y;
x=0.51;
//
化不凈
y=0.5;
//
化得凈
printf("x=%.8f
y=%.8",x,y);
//
輸出
0.50999999
0.50000000
㈢ C語言中如何保留一位小數點
可以通過printf函數中的輸出格式說明符來實現保留一位小數點,要保留一位小數就用printf("%.1f",x),例子如程序中給出那樣。
例子如下:
(3)C語言分數型的保留擴展閱讀:
1.printf("%3.0f",floatNum):不保留小數
說明:%3.0f表明待列印的浮點數(floatNum)至少佔3個字元寬,且不帶小數點和小數部分,整數部分至少佔3個位寬;
注意:這里的3隻代表整數部分至少佔3位,舍棄小數點和小數點後面的部分。
2.printf("%6.2f".floatNum):保留兩位小數
說明:%6.2f 表明待列印的數(floatNum)至少佔6個字元寬度(包括兩位小數和一個小數點),且小數點後面有2位小數,小數點佔一位,所以整數部分至少佔3位。
注意:這里的6是待列印的數至少佔據的字元寬度,包括兩位小數(如果小數不夠兩位用0補位,例如100.1列印出來為100.10)和一個小數點,所以整數部分至少佔3個字元寬度。
㈣ c語言里能不能設置一個條件,輸出時如果一個無限不循環小數則自動四捨五入或保留分數
預設是四捨五入的,可通過「%f」格式指定字設定精度。
如printf("%.2f", 15.237);,即取值至兩個小數位。
電腦語言中是不存在真正的分數的,要透過特別的方式才可以保留分子分母。
㈤ c語言中想要讓輸出數字保留幾位小數該怎麼做
舉個例子,如果想要輸出保留三位小數的雙精度浮點數,則應該這樣寫:
printf("%.3lf",d);
其中的「.3」就是小數點後保留三位小數。
注意,3前面有個點哈!
㈥ c語言 float類型保留幾位啊 怎麼確定
float類型默認保留小數點後6位,若是要輸出一位或者其他位數,可以按照以下形式進行輸出:
printf("%.(這里輸入要輸出的位數)f",x);
如輸出一位:printf("%.1f",x);
實例
#include <stdio.h>
#include <float.h>
int main()
{
printf("float 存儲最大位元組數 : %lu ", sizeof(float));
printf("float 最小值: %E ", FLT_MIN );
printf("float 最大值: %E ", FLT_MAX );
printf("精度值: %d ", FLT_DIG );
return 0;
}
㈦ 請問在C語言中分數怎麼表示啊,即10/9
如果想保存成數值,只能保存小數值,10/9隻能保存它對應的小數值,也就是1.11111,這個小數值實際上是無限循環的,無限小數保存不了,
所以存在精度問題,即保存到小數點後幾位,一般用float或者double型變數保存小數,double精度更高一些。
如果必須要保存精確地10/9分數,可以使用字元串類型,保存「10/9」,這樣存下來的就不是一個數,只是普通的字元串,使用時可以做相應的轉換輸出。
㈧ c語言編程,輸入n個學生的成績,以輸入-1表示輸入結束,輸出學生的人數,總分(不顯示小數)及平均值(...
#include<stdio.h>
#include<math.h>
intmain()
{
inti=0;//學生人數計數器
floatn;
doublesum=0;
printf("請依次輸入學生成績以-1結束: ");
while(n!=-1)
{
scanf("%f",&n);
sum=sum+n;
i++;
}//當i==-1時sum-1且i+1所以下邊總分要是i-1,總分為sum+1;時間不夠沒改到很好見諒
printf("學生人數:%d ",i-1);
printf("總分:%.0f ",sum+1);//
printf("平均分:%.2f ",(sum+1)/(i-1));
return0;
}
㈨ 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語言怎麼保留分數和根號啊,還有怎麼輸入根號,求大神解答
c語言沒辦法保留分數,只有小數,要寫分數就要用到復雜的數據結構
根號就是一個函數sqrt(x)
用sqrt時候記得
#include<math.h>