林老師設計了一個成績統計系統,可以輸入 $n$ 個同學的成績,並且計算他們的數據, 請幫助林老師完成他的系統。
為了方便維護,林老師設計了 Student 的資料型態如下:
struct Student {
char name[100];
char gender;
int score;
};
其中 gender 若為 "F" 為女生,若為 "M" 為男生。
請寫兩個函數 girls_average
, boys_average
,給定一個 Student
陣列和它的長度,
特別地,當該性別的人數為 0,回傳值為 -1。
請寫一個函數 print
,給定一個 Student
,
總共是要實作下列三個函數: 我們已經幫你宣告好了,你只需要實作函數內容就好。
double girls_average(Student ss[],int size);
double boys_average(Student ss[],int size);
void print(Student s);
以下是測試用的程式碼
#include <iostream>
#include "lib0566.h"
int main() {
Student ss[1000];
int n;
std::cin >> n;
for(int i = 0; i < n; ++i) {
std::cin >> ss[i].name;
std::cin >> ss[i].gender;
std::cin >> ss[i].score;
}
for (int i = 0; i < n; ++i)
print(ss[i]);
std::cout << "-----------------------------------------------\n";
std::cout << "Girl's average = " << girls_average(ss, n) << "\n";
std::cout << "Boy's average = " << boys_average(ss, n) << "\n";
return 0;
}
lib0566.h
的內容如下
struct Student {
char name[100];
char gender;
int score;
};
double girls_average(Student ss[],int size);
double boys_average(Student ss[],int size);
void print(Student s);
在你上傳的 code 一開始請加上 #include "lib0566.h"
以下是一份你要上傳的內容的範例程式(要撰寫的部分就是函式的內容)
#include <iostream>
#include "lib0566.h"
using namespace std;
double girls_average(Student ss[], int size){
double ans = 0;
return ans;
}
double boys_average(Student ss[], int size){
double ans = 0;
return ans;
}
void print(Student s){
return;
}
(你要撰寫的 girls_average
、boys_average
、print
三個函式皆不需要處理輸入)
第一行會有一個正整數 $n$,代表學生總人數。
接下來的 $n$ 行每行會有一個學生的姓名、性別(以 F 及 M 表示)、成績,以空白分隔。
girls_average
和 boys_average
兩個函式不需要輸出,只需要回傳一個 double 型態的浮點數。
print
函數要格式化輸出該 Student 的資料,假設 name = "ABC", gender = "F", score = 100,則輸出 "ABC [F]: 100\n"(不需要引號)。
NEOJ Problem 895
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~9 | 100 |