新生舞會開始了。n名新生每人有三個屬性:姓名、學號、性別。其中,姓名用長度不超過20的僅由大小寫字母構成的字符串表示,學號用長度不超過10的 僅由數(shù)字構成的字符串表示,性別用一個大寫字符‘F’或‘M’表示。任意兩人的姓名、學號均互不相同。換言之,每個人可被其姓名或學號唯一確定。給出m對 兩人的信息(姓名或學號),判斷他們是否能共舞。兩人能共舞的充要條件為兩人性別相異。
提示
可以把名字和學號都當成字符串處理。可以按以下流程實現(xiàn)。
#include< iostream>
#include< cstring>
using namespace std;
struct tstudent
{
char name[21];
char num[21];
char sex;
};
void readdata(tstudent student[], int n)
{
輸入N個學生的信息
}
int findstudent(tstudent student[], int n, char* data)
{
if (data == NULL) return -1;
判斷是否有某個學生的學號或名字等于data,如果有,函數(shù)返回該學生在student數(shù)組中的序號,否則返回-1
}
void solve(tstudent student[], int n, int m)
{
char x[21], y[21];
for (int i=0; i< m; i++) {
輸入兩個人的信息X、Y。通過調用findstudent函數(shù)判斷這兩個人能否成為舞伴
}
}
int main()
{
int n, m;
tstudent student[1010];
cin> > n;
readdata(student, n);
cin> > m;
solve(student, n, m);
}