如何用查询的学号将所有学生遍历一遍

 

你是要用学号搜索对应的学生信息吗?

typedef struct _student
{
    char num[10];
    char name[20];
    float score;
}student;

student stu[100];
int stunum = 0;

student *findstudent(char *pNum)
{
    for(int i=0;i<stunum;i++)
    {
        if(strcmp(stu[i].num,pNum) == 0)
            return &stu[i];
    }
    return NULL;
}

int main()
{
    int i;
    printf("请输入学生数量:");
    scanf("%d",&n);
    printf("请逐行输入%d个学生信息:",n);
    for(i=0;i<n;i++)
        scanf("%s %s %f",stu[i].num,stu[i].name,&stu[i].score);
    printf("请输入要检索的学生学号:");
    char num[10] = {0};
    scanf("%s",num);
    student *p = findstudent(num);
    if(p == NULL)
        printf("指定学号的学生不存在。\n");
    else
        printf("学号:%s\n姓名:%s\n成绩:%g\n",p->nmu,p->name,p->score);
    return 0;
}

 

就是选择查询之后,遍历数组输出一遍信息,便于用户知道有哪些