1)不及格人数统计;
2)子函数实现: 根据学号在结构体数组中查找学生信息,返回该学生所在的数组下标,若没找到则返回 - 1。
主函数中输出该学生信息。要求:使用学号、结构体指针变量作为函数参数编程
如何修改
#include<stdio.h>
struct student
{
int num;
char name[20];
char sex;
float score;
}stu[5] = { {101,"li ping",'m',45},
{102 ,"zhang ping",'m',62.5},
{103 ,"he fang",'m',92.5},
{104 ,"cheng ling",'f',87},
{105 ,"wang ming",'m',58} };
int search(int y,int* ch)
{
int i = 0;
ch = stu;
for (; ch < 106;i++,ch++)
{
if (y==stu[i].num)
{
return i;
}
if(y<101 && y>105)
{
return (-1);
}
}
}
int main()
{
int i, x = 0, y;
int* ch = stu;
for (i = 0; i < 5; i++)
{
if (stu[i].score < 60)
{
x += 1;
}
}
printf("请输入你想查找的学生的编号:\n");
scanf_s("%d", &y);
y -= 1;
y = search(y,ch);
if (y == -1)
{
printf("数据输入错误");
return 0;
}
else
{
printf("%d %s %s %lf", stu[i].num, stu[i].name, stu[i].sex, stu[i].score);
}
return 0;
}