满意答案
评论古今
2017.06.25
采纳率:46% 等级:8
已帮助:462人
测试结果:
Input name and scores:
abc 80
efg 90
hij 100
# 100
Enter a name:efg
name:efg math:90
Enter a name:abc
name:abc math:80
Enter a name:hij
name:hij math:100
Enter a name:ok
Not been found!
#include
#include
#define MAX 101
struct student
{
char name[11];
int math;
};
//在这里增加函数的声明
void reading(struct student *a,int *n);
void search(struct student *b,char *x,int n);
void main()
{
struct student s[MAX];
int j,num;
char name[11];
reading (s,&num);
getchar ();
for(j=1;j<5;j++) //一共查找4次
{
printf("Enter a name:");
gets(name);
search(s,name,num);
}
}
//原代码reading(struct student *a,int *n)
void reading(struct student *a,int *n)
{
int i=1;
printf("Input name and scores:\n");
scanf("%s%d",a[i].name,&a[i].math);
//原代码while(strcmp(a[i].name,"#")); //while()末尾多了一个分号(;)
while(strcmp(a[i].name,"#"))
{
i++;
scanf("%s%d",a[i].name,&a[i].math);
}
*n=--i;
}
//原代码search(struct student *b,char *x,int n)
void search(struct student *b,char *x,int n)
{
int i;
strcpy(b[0].name,x);
i=n;
while (strcmp(b[i].name,b[0].name))
i--;
if(i!=0)
printf("name:%s math:%d\n",b[i].name,b[i].math);
else
printf("Not been found!\n");
}
00分享举报