當前位置:首頁 » 編程語言 » c語言五選三
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言五選三

發布時間: 2023-04-07 17:40:56

⑴ 在c語言中,表達式5/3的結果是什麼

5和3如果都是整形變數的話,那麼結果就是1,因為『/』是得到的結果是商。其實在寫程序時,無論是%d還是%f,5/3都是等於1,無非是%f的話是1.0000。

編譯環境為Dev-C++ TDM-GCC 4.9.2 64-bit。這個結果其實非常合理,C語言中,/是除法運算沒錯,但是5/3是兩個整數相除,得到的結果也是一個整數,有點類似於一些語言當「整除」運算的概念。

那麼要怎麼樣才能得到小數的結果呢?其實也很簡單,按照整型類型數相除只能得到整型類型的結果來推測,基本可以得出結論:表達式中需要出現浮點數。至於浮點數做除數還是被除數都沒有問題。如果是變數的話,可以先乘以1.0,然後再做除法運算,得到的結果也會是浮點數。



如果在整型表達式中 5 / 3 = 1,因為 int 數據類型會將小數點後面的指數部分直接截斷。所以如果在需要精確到小數點的場景下,萬萬不可用整型數據類型。

而在浮點型表達式中 5 / 3 = 1.666667,因為浮點型(這里使用 float)他只保證小數點後6位的精確,並將最後一位四捨五入。所以如果要更加精確可以使用 double 或者是 long double。

⑵ C語言:輸入5個學生3門課程的成績,分別用函數實現一下功能


#include<stdio.h>

intmain()

{

voidmax(int[][5]);

voidaveragek(int[][5]);

voidaverages(int[][5]);

inta[10][5],i;

for(i=0;i<=9;i++)

{

printf("請輸入第%d名學生五科成績 :",i+1);

scanf("%d%d%d%d%d",&a[i][0],&a[i][1],&a[i][2],&a[i][3],&a[i][4]);

}

averages(a);

averagek(a);

max(a);

return0;

}

voidaverages(inta[][5])

{

intm,i;

for(i=0;i<=9;i++)

{

m=(a[i][0]+a[i][1]+a[i][2]+a[i][3]+a[i][4])/5;

printf("第%d名學生平均分為:%d ",i+1,m);

}

}

voidaveragek(inta[][5])

{

intm,i;

for(i=0;i<=4;i++)

{

m=(a[0][i]+a[1][i]+a[2][i]+a[3][i]+a[4][i]+a[5][i]+a[6][i]+a[7][i]+a[8][i]+a[9][i])/10;

printf("第%d科成績平均分為%d ",i+1,m);

}

}

voidmax(inta[][5])

{

inti,j,max,k,g;

max=a[0][0];

for(i=0;i<=9;i++)

for(j=0;j<=4;j++)

{

if(a[i][j]>max)

{

max=a[i][j];

k=i;

g=j;

}

}

printf("第%d名學生的第%d科成績取得最高分:%d ",k+1,g+1,max);

}