當前位置:首頁 » 編程語言 » 平均分C語言為什麼是000
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

平均分C語言為什麼是000

發布時間: 2023-08-27 03:36:30

A. 關於c語言求總分和平均數的問題

{
inti,j;
floatsum,average,x,y,z;
printf("請輸入每個同學每門課程的成績: ");
for(i=1;i<=5;i++)
{
scanf("%f%f%f",&x,&y,&z);
sum=x+y+z;
average=sum/3.0;//要除3.0才能得到正確答案
printf("第%d位同學的總分為:%f,平均分為:%f ",i,sum,average);
}
}

B. C語言中"\ooo"是什麼意思

\ooo--> \000
轉義字元 意義 ASCII碼值(十進制)
/a 響鈴(BEL) 007
/b 退格(BS) 008
/f 換頁(FF) 012
/n 換行(LF) 010
/r 回車(CR) 013
/t 水平製表(HT) 009
/v 垂直製表(VT) 011
// 反斜杠 092
/? 問號字元 063
/' 單引號字元 039
/" 雙引號字元 034
/0 空字元(NULL) 000
/ddd 任意字元 三位八進制
/xhh 任意字元 二位十六進制

C. C語言循環輸入一個學生5門課程的成績,計算所有大於60分課程成績的平均分,為什麼我的結果平均分永遠為0

統計大於60分課程的總成績和課程數即可求得平均分

沒有看懂你的for循環意義何在

另外如果c和j 都是整型數,那麼c/j 默認也為整型數,若不能除盡則會損失精度

所以求平均分d=c/j 時要先進行類型轉換:d=(float)c/j; 或 d=1.0*c/j

修改後的代碼如下:

#include <stdio.h>

int main() {

int a, b = 0, c = 0;

float d;

int i = 1, j = 0;

while (i <= 5) {

printf("請輸入第%d門成績: ", i);

scanf("%d", &a);

i++;

b += a; // 統計所有課程的總分

if (a > 60) {

c += a; // 統計大於60分課程的總分

j++; // 統計大於60分的課程數

}

}

d = (float)c / j; // 求平均分,注意類型轉換

printf("該學生的總分為%d ", b);

printf("所有大於60分課程成績的平均分為%.2f", d);

return 0;

}

符合題意,望採納~

D. c語言數值常量表示方法問題

C語言中的數值常量可以簡單的分為如下兩種整型常量和浮點數常量:

一. 整型常量 如6,27,-299
在 C 語言中,整型常量分為十進制整型常量、八進制整型常量和十六進制整型常量三種表示形式。
(1)十進制整型常量
這種常量只能出現 0~9 的數字,且可帶正、負號。例如:
0 1 364 28 -34
第 2 章 基本數據類型 •29•
(2)八進制整型常量
這種常量是以數字 0 開頭的八進制數字串。其中數字為 0~7。例如:
0111(十進制 73) 011(十進制 9) 0123(十進制 83)
(3)十六進制整型常量
這種常量是以 0x或 0X開頭的十六進制數字串。其中每個數字可以是 0~9、a~f或 A~
F 中的數字或英文字母。例如:
0x11(十進制 17) 0Xa5(十進制 165) 0x5a(十進制 90)

二. 浮點型常量 如5.43,-2.3,5.67f
實型常量有兩種表示形式:一種是十進制小數形式,另一種是指數形式。
(1)十進制小數形式
十進制小數形式為包含一個小數點的十進制數字串。
此類實型常量小數點前或後可以沒有數字,但不能同時沒有數字。例如:
3.14159, .89, 56.0, 78., -3.0, 0.0
(2)指數形式
指數形式的格式由兩部分組成:十進制小數形式或十進制整型常量部分和指數部分。
其中指數部分是在 e 或 E(相當於數學中冪底數 10)後跟整數階碼(即可帶符號的整數指
數)。例如:
1e15 //表示數值 1×10
15
0.35e+1 //表示數值 0.35×10
1
78e-1 //表示數值 78×10
-1
下面是不正確的實型常量。
e15 //缺少十進制小數部分
0.35e //缺少階碼
78e-1.2 //不是整數階碼

E. C語言中的問題

8進制即逢8進1,16進制即逢16進1
16進制是這樣的,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
A代表10,其餘的類推
所以16進制數6B轉換為10進制就是6*16+11=107
假如8進制數73轉換為10進制就是7*8+3=59
就好像十進制數123表示為1*100+2*10+3*1一樣
8進制,16進制的聯系是2進制,即轉換都要先轉換成2進制
8進制由3位2進制組成,16進制由4位2進制組成
對8進制來講:000代表0 001代表1 010代表2 011代表3
100代表4 101代表5 110代表6 111代表7
對16進制來講:0000代表0 0001代表1 0010代表2 0011代表3
0100代表4 0101代表5 0110代表6 0111代表7
1000代表8 1001代表9 1010代表A 1011代表B
1100代表C 1101代表D 1110代表E 1111代表F
所以8進制數73可以看成111 011
而16進制數6B可以看成0110 1011