2008年5月10日 星期六

小考八(A) 解答

這題C語言小考重點在結構的練習,透過函數的呼叫來完成。C語言在主程式中使用函數如下
printf("英文成績最佳的學生為 %s\n", student[max_eng(student)].name); 
printf("A 班數學平均成績為 %.2f\n", avg_math(student, 'A'));
printf("B 班數學平均成績為 %.2f\n", avg_math(student, 'B'));

函數完成的部份,其C語言程式碼如下:
int max_eng(struct data st[])
{
int i, index=0, max=st[0].eng;
for (i=1;i<8;i++)
if (max < st[i].eng)
{
max=st[i].eng;
index=i;
}
return index;
}
float avg_math(struct data st[], char ch)
{
float sum=0;
int i, total=0;
for (i=0;i<8;i++)
if (st[i].classNo==ch)
{
sum += st[i].math;
total++;
}
return sum/total;
}

程式中可以定義一個SIZE以取代數字8。
陣列元素的取用 st[i].math 與 (st+i)->math 是相同的。
小考八(A)題目
返回小考目錄
回到首頁

沒有留言: