Here's the part of my code:
Problem: It skips the input of "please enter your name" to "please enter your marks"
What I tried: flushall(); _flushall(); - which worked yesterday somehow, and trying to place these functions between printf,scanf..
student *Create_Class(int size) {
    int i, j;
    int idStud, nameStud, markStud;
    student *classStudent;
    classStudent = (student*)malloc(size * sizeof(student));
    for (i = 0; i < size; i++) {
        classStudent[i].name = (char*)malloc(51 * sizeof(char));
        int numOfmarks = 4;
        printf("Please enter your name: ");
        gets(classStudent[i].name);
        _flushall(); //tried _flushall() and it worked yesterday.. tried fflush(NULL) too.
        printf("\nPlease enter 4 marks: ");
        for (j = 0; j < numOfmarks; j++) {
            scanf("%d", &classStudent[i].marks[j]);
        }
        Avg_Mark(&classStudent[i]);
    }
    return classStudent;
}
EDIT: (FULL CODE)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
typedef struct {
    char *name;
    int marks[4];
    float avg;
} student;
student *Create_Class(int);
void Avg_Mark(student*);
void Print_One(student*);
void exStudents(student *s, int size);
int main() {
    int size, i;
    student *arr;
    printf("\nEnter the number of students: \n");
    scanf("%d", &size);
    arr = Create_Class(size);
    exStudents(arr, size);
    for (i = 0; i < size; i++)
        free(arr[i].name);
    free(arr);
    getch();
}
student *Create_Class(int size) {
    int i, j;
    int idStud, nameStud, markStud;
    student *classStudent;
    classStudent = (student*)malloc(size * sizeof(student));
    for (i = 0; i < size; i++) {
        classStudent[i].name = (char*)malloc(51 * sizeof(char));
        int numOfmarks = 4;
        int sizeOfName;
        printf("Please enter your name: \n");
        _flushall();
        fgets(classStudent[i].name,50,stdin);
        sizeOfName = strlen(classStudent[i].name);
        printf("Please enter 4 marks: ");
        for (j = 0; j < numOfmarks; j++) {
            scanf("%d", &classStudent[i].marks[j]);
        }
        Avg_Mark(&classStudent[i]);
    }
    return classStudent;
}
void Avg_Mark(student *s) {
    int i, numOfMarks = 4, sum = 0;
    for (i = 0; i < numOfMarks; i++) {
        sum += s->marks[i];
    }
    s->avg = (sum / 4.0);
}
void Print_One(student *s) {
    printf("The average of %s is %f", s->name, s->avg);
}
void exStudents(student *s, int size) {
    int flag = 1;
    while (size > 0) {
        if (s->avg > 85) {
            Print_One(s);
            flag = 0;
        }
        s++;
        size--;
    }
    if (flag)
        printf("\n There're no students with above 85 average.");
}
 
     
    