算法笔记:查找学生信息(C/C++)

题目描述
输入N个学生的信息,然后进行查询。

输入
输入的第一行为N,即学生的个数(N<=1000)

接下来的N行包括N个学生的信息,信息格式如下:
01 李江 男 21
02 刘唐 男 23
03 张军 男 19
04 王娜 女 19
然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:
02
03
01
04

输出
输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”

算法笔记:查找学生信息(C/C++)_第1张图片
C++代码:(跑分只有50!好难过啊,不知道哪里出了问题。)

#include
#include
#include

const int MaxNum=1010;
struct stu{
     
	char ID[10];
	char Name[20];
	char Sex[10];
	int Age;
};

int main(){
     
	int n;
	stu S[MaxNum];
	while(scanf("%d",&n)!=EOF)
	{
     
		for(int i=0;i<n;i++)
		{
     
			scanf("%s %s %s %d",S[i].ID,S[i].Name,S[i].Sex,&S[i].Age);
		}
		int m;
		scanf("%d",&m);
		while(m--)
		{
     
			char StuID[10];
			scanf("%s",StuID);
			int j; // j要在这里定义,因为C++中,如果在for循环的时候定义,那么j只能在for循环内使用
			int flag=0; 
			for(j=0;j<n;j++)
			{
     
				if(!strcmp(S[j].ID,StuID))
				{
     
					printf("%s %s %s %d\n",S[j].ID,S[j].Name,S[j].Sex,S[j].Age);
					flag=1; 
				}
			}
			if(flag==0)
			printf("No Answer!\n");
		}
	}
	return 0;
}

你可能感兴趣的:(算法笔记,python,算法)