解题思路:直接按题目意思写代码
注意事项:
参考代码:
#include<iostream>
#include<cstring>
using namespace std;
struct tstudent
{
char name[21];
char num[21];
char sex;
};
void readdata(tstudent student[], int n)
{
// 输入N个学生的信息
for(int i=0; i<n; i++)
cin>>student[i].name>>student[i].num>>student[i].sex;
}
int findstudent(tstudent student[], int n, char* data)
{
if (data == NULL)
return -1;
//判断是否有某个学生的学号或名字等于data,如果有,函数返回该学生在student数组中的序号,否则返回-1
for(int i=0; i<n; i++)
{
if(strcmp(student[i].name,data)==0||strcmp(student[i].num,data)==0)
return i;
}
return -1;
}
void solve(tstudent student[], int n, int m)
{
char x[21], y[21];
for (int i=0; i< m; i++)
{
//输入两个人的信息X、Y。通过调用findstudent函数判断这两个人能否成为舞伴
cin>>x>>y;
int x1=findstudent(student,n,x),y1=findstudent(student,n,y);
if(x1>-1&&y1>-1&&x1!=y1&&student[x1].sex!=student[y1].sex)
cout<<"Y"<<endl;
else
cout<<"N"<<endl;
}
}
int main()
{
int n, m;
tstudent student[1010];
cin>> n;
readdata(student, n);
cin>> m;
solve(student, n, m);
}
/**
4
John 10 M
Jack 11 M
Kate 20 F
Jim 21 M
3
John 11
20 Jack
Jim Jack
*/
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复