在遇到字符串的时候,要把数组声明的足够大然后就可以ac了。。。记住,如果想要输出03,就把它声明为char*就好了。。。。
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
struct student{
char num[100];
char name[100];
char sex[100];
int age;
}s[1005];
int main()
{
int N,M;
while((scanf("%d",&N))!=EOF){
int i,j;
for(i=0;i<N;i++)
scanf("%s%s%s%d",&s[i].num,&s[i].name,&s[i].sex,&s[i].age);
scanf("%d",&M);
for(i=0;i<M;i++){
char numb[100];
scanf("%s",&numb);
for(j=0;j<N;j++)
if(!strcmp(numb,s[j].num)){
printf("%s %s %s %d\n",s[j].num,s[j].name,s[j].sex,s[j].age);
break;
}
if(j==N)
printf("No Answer!\n");
}
}
return 0;
}