其他分享
首页 > 其他分享> > 存疑576C(已解决)多点测试EOF的重要性

存疑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