2008年5月10日 星期六

小考八(B) 解答

這題C語言小考重點在結構的練習,透過函數的呼叫來完成。C語言在主程式中使用函數如下
    printf("本月壽星學生為\n");
happy_birthday(student, 5);
printf("全班平均成績最佳者為 %s\n", student[max_grade(student)].name);

函數完成的部份,其C語言程式碼如下:
void happy_birthday(struct data st[], int month)
{
int i;
for (i=0;i<8;i++)
if (st[i].birthday.mm == month)
printf("%s\n", st[i].name);
}
int max_grade(struct data st[])
{
int i, index=0;
float temp, max_avg=(st[0].eng+st[0].chi+st[0].math)/3.0;
for (i=1;i<8;i++)
{
temp=(st[i].eng+st[i].chi+st[i].math)/3.0;
if (max_avg < temp)
{
max_avg=temp;
index=i;
}
}
return index;
}

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

1 則留言:

匿名 提到...

程式中可以定義一個SIZE以取代數字8。
陣列元素的取用 st[i].math 與 (st+i)->math 是相同的。
小考八(A)題目←這似乎是小考八(B)題目