存疑576C(已解决)多点测试EOF的重要性
作者:互联网
题目:http://codeup.cn/problem.php?cid=100000576&pid=2
问题:不知道哪里不正确
代码:
#include<stdio.h>
#include<string.h>
struct stuinfo{
char num[10];
char name[100];
char sex[10];
int age;
}stu[1010];
int main(){
int i,j,n,m;
scanf("%d",&n);
for(i=0;i<n;i++){
getchar();
scanf("%s %s %s %d",stu[i].num,stu[i].name,stu[i].sex,&stu[i].age);
}
scanf("%d",&m);
for(j=0;j<m;j++){//每输入一个字符就与信息数组进行一次比较
char a[10];
scanf("%s",a);
for(i=0;i<n;i++){
int temp=strcmp(a,stu[i].num);
if(!temp) {
printf("%s %s %s %d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);
break;
}
}
if(i==n) printf("No Answer!\n");
}
return 0;
}
改正:codeup多点测试
#include<stdio.h>
#include<string.h>
struct stuinfo{
char num[10];
char name[100];
char sex[10];
int age;
}stu[1010];
int main(){
int i,j,n,m;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
getchar();
scanf("%s %s %s %d",stu[i].num,stu[i].name,stu[i].sex,&stu[i].age);
}
scanf("%d",&m);
// char a[m][10];
for(j=0;j<m;j++){//每输入一个字符就与信息数组进行一次比较
char a[10];
scanf("%s",a);
for(i=0;i<n;i++){
int temp=strcmp(a,stu[i].num);
if(!temp) {
printf("%s %s %s %d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);
break;
}
}
if(i==n) printf("No Answer!\n");
}
/*for(j=0;j<m;j++){
for(i=0;i<n;i++){
int temp=strcmp(a[j],stu[i].num);
if(!temp) {
printf("%s %s %s %d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);
break;
}
}
if(i==n) printf("No Answer!\n");
}*/
}
return 0;
}
标签:10,EOF,int,scanf,576C,char,stu,num,存疑 来源: https://blog.csdn.net/weixin_45547419/article/details/113768753