以下是我寫的程式碼。
班別:
學號:
姓名:
小考八題目:
有一個表示學生國英數成績結構陣列如后所附。請完成二個函數,其原型分別為 void happy_birthday(struct data [], int); int max_grade(struct data []); 其功能可以
班別:
學號:
姓名:
小考八題目:
有一個表示學生國英數成績結構陣列如后所附。請完成二個函數,其原型分別為 void happy_birthday(struct data [], int); int max_grade(struct data []); 其功能可以
(1)列印某月份生日的學生姓名;
(2)傳回全班平均成績最高的學生的索引值 。 請完成函數,並依題目輸出要求,測試函數, 印出結果。 題目輸入:八個學生資料如后所附。 題目輸出:(1)印出本月壽星的學生姓名 (2)印出全班平均成績最高的學生姓名
*/
#include
#include
struct day{
int yy, mm, dd; /* 年、月、日 */
};
struct data
{
char name[20]; /* 姓名 */
struct day birthday; /* 生日 */
int chi, math, eng; /* 國文、數學 與 英文成績 */
};
struct data student[8] = {{"Marry Hu", {77, 2, 3}, 89, 90, 79},
{"Tom Chen", {78, 12, 13}, 79, 69, 88},
{"Billy Wu", {77, 1, 30}, 81, 54, 66},
{"John Hsu", {77, 7, 22}, 69, 49, 70},
{"Tim Huang", {77, 3, 8}, 90, 62, 83},
{"Marry Chen", {78, 5, 27}, 78, 93, 91},
{"Tomas Chu", {77, 5, 18}, 80, 50, 68},
{"Ann Wang", {77, 9, 21}, 66, 79, 78}};
void happy_birthday(struct data student[], int);
int max_grade(struct data []);int main(void)
{
int max;
happy_birthday(student,5);
max=max_grade(student);
printf("全班平均最佳者為:%s\n",student[max].name);
system("pause");
return 0;
}
/*列出本月壽星(以5月為基準)*/
void happy_birthday(struct data student[], int month)
{
int i;
printf("本月壽星如下\n");
for(i=0;i<8;i++)
{
if(student[i].birthday.mm==month)
printf("%s\n",student[i].name);
}
}
/*找出各科平均分數最高的那位同學,並回傳其索引值*/
int max_grade(struct data student[])
{
int i,temp2;
struct data temp;
temp=student[0];
for(i=0;i<8;i++)
{
if((student[i].chi+student[i].math+student[i].eng)/3>(temp.chi+temp.math+temp.eng)/3)
{
temp=student[i];
temp2=i;
}
}
return temp2;
}
※有哪裡不懂得可以MSN問我,如果有錯誤的地方,可以直接在底下回覆糾正我的錯誤。
沒有留言:
張貼留言