c语言程序输出问题,,

2020--20219年第一学期,软件工程HB20班 有三门考试课:程序设计基础 、数学和英语。现在课程考试已经结束,班级要进行奖学金评定,其标准是 :如果某个学生的这三门考试课成绩均在85分以上,才能获得奖学金。聪明的你能编程帮他们解决这个问题吗?假设结构体定义如下:
struct student
{ int num ;// 学生学号,五位数 18101
int program;
int math;
int english;
}stu[100];
注:由于学生较多,建议使用结构体数组保存输入数据,当然也可以不用结构体数组。
输入
输入只有一组数据,包括多行。
第一行是一个正整数n,表示输入n个学生三门课成绩,输入格式如样例输入。(n小于等于100)
第2行-第n+1行 分别表示输入的n个学生的学号,程序设计基础成绩、数学成绩和英语成绩,中间用空格个隔开。
输出
输出可能有多行。
每行输出表示能获得奖学金的学生信息:学号、程序设计基础成绩 、数学成绩 、英语成绩。
难度
较难
输入示例
4
18101 90 80 85
18102 90 85 99
18103 80 90 65
18104 88 90 90
输出示例
18102 90 85 99
18104 88 90 90

供参考:

#include <stdio.h>
struct student
{
    int num;// 学生学号,五位数 18101
    int program;
    int math;
    int english;
}stu[100];
int main()
{
    int n, i, flg;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        scanf("%d%d%d%d", &stu[i].num, 
            &stu[i].program, &stu[i].math, &stu[i].english);
    for (i = 0, flg = 1; i < n; i++)
    {
        if (stu[i].program >= 85 && stu[i].math >= 85 && stu[i].english >= 85)
        {
            printf("%d %d %d %d\n", stu[i].num, stu[i].program, stu[i].math, stu[i].english);
            flg = 0;
        }
    }
    if (flg)  printf("No Found.");
    return 0;
}