c語言的問題(一維陣列與函式)
[一維陣列&函式]
使用三個一維陣列來解決以下問題:
請各別讀進三位學生的
[計算機概論(三學分)學期總成績],
[計算機程式設計實習(1學分)學期總成績],
[微積分(三學分)學期總成績] ,
將此三個成績儲存在個別的陣列中,再進一步計算出個別學生的學期平均分數(整數四捨五入)之後,
將此學期平均成績儲存在個別學生陣列的最後一個陣列元素中,
然後再撰寫一個函式用來找出哪些學生的學期分數是及格的(超過60分)
(註:學期分數的算好={(個別成績1*學分數1)+(個別成績2*學分數2)+(個別成績3*學分數3)} / 總學分數
很急!!!!!!15點
拜託了
各位C高手
1 個解答
- 1 0 年前最佳解答
#include<stdio.h>
void pass(int average[3]);//函式
void main()
{
int score1[3];//[計算機概論(三學分)學期總成績]
int score2[3];//[計算機程式設計實習(1學分)學期總成績]
int score3[3];//[微積分(三學分)學期總成績]
int average[3];//平均
int i;
for(i=0;i<3;i++){
printf("請輸入第%d位學生的『計算機概論』成績:",i+1);
scanf("\n%d",&score1[i]);
printf("請輸入第%d位學生的『[計算機程式設計實習』成績:",i+1);
scanf("\n%d",&score2[i]);
printf("請輸入第%d位學生的『微積分』成績:",i+1);
scanf("\n%d",&score3[i]);
average[i]=((score1[i]*3)+(score2[i])+(score3[i]*3))/7;//計算學期總成績
printf("%d\n",average[i]);
}
pass(average);//計算及格的函式
}
void pass(int average[3])//執行及格函式
{
for(int i=0;i<3;i++){
if(average[i]>=60)
printf("第%d位同學學期成績及格\n",i+1);//印出誰及格
}
}
2008-12-26 22:17:54 補充:
四捨五入:
average[i]=(((score1[i]*3)+(score2[i])+(score3[i]*3))/7)+0.5;//計算學期總成績
把上面的這行換成這一個↑
參考資料: 自己