Debug không báo lỗi nhưng chương trình chạy bị lỗi

Em có viết 1 chương trình nhập họ tên, điểm của n sinh viên. lúc build thì không báo lỗi chương trình vẫn chạy. tuy nhiên đến lúc nhập thông tin thì nó không cho nhập họ tên, nó nhảy sang nhập điểm luôn ạ. Code dưới đây ạ

#include <stdio.h>
#include <conio.h>
#include <string.h>

struct HocSinh
{
	char hoten[30];
	float diem;
};

void main()
{
	HocSinh a[100];
	int n;
	printf("Nhap vao so hoc sinh: \n");
	scanf_s("%d", &n);
	for (int i = 0; i < n; i++)
	{
		printf("Ho Ten: \n");
		fflush(stdin);
		gets_s(a[i].hoten);
		printf("Nhap diem: \n");
		scanf_s("%f", &a[i].diem);
	}
	printf("Danh sach Hoc sinh: \n");
	for (int i = 0; i < n; i++)
	{
		printf("%s  ", a[i].hoten);
		printf("%.2f  ", a[i].diem);
		if (a[i].diem >= 9)
		{
			printf("Gioi\n");
		}
		else if (a[i].diem >= 7)
			printf("Kha\n");
		else if (a[i].diem >= 5)
			printf("Trung Binh\n");
		else
			printf("Khong dat\n");
	}
	_getch();
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?