这么怎么做啊??求解

定义一个表示学生信息的结构体,要求结构体中有如下信息:学号(int类型)、姓名(字符数组类型)以及成绩(float类型)。要求声明出一个学生类型的结构体变量,并通过scanf函数给该结构体内三个成员依次进行赋值

#include<stdio.h>

struct student {
    int num;
    char name[20];
    char sex;
    int age;
};

int main() {
    int n;
    scanf("%d", &n);
    student stu[20];
    for (int i = 0; i < n; i++) {
        scanf("%d %s %c %d", &(stu + i)->num, &(stu + i)->name, &(stu + i)->sex, &(stu + i)->age);
    }
    for (int i = 0; i < n; i++) {
        printf("%d %s %c %d\n", (*(stu + i)).num, (*(stu + i)).name, (*(stu + i)).sex, (*(stu + i)).age);
    }

}

哪部分有困难啊

#include <stdio.h>
struct student
{
    int num;
    char name[20];
    float score;
};
int main()
{
    struct student s;
    scanf("%d%s%f",&s.num,s.name,&s.score);
    return 0;
}

#include "stdio.h"
struct student
{
    int num;
    char name[20];
    float grade;
};

int main()
{
    struct student s;
    scanf("%d%s%f",&s.num,&s.name,&s.grade);
}

img


#include<stdio.h>

struct student
{
    int num;
    char name[20];
    float cj;
} t[3];
int main()
{
    int j;
    for(j=0; j<3; j++)
    {
        scanf("%d %s %f",&t[j].num,t[j].name,&t[j].cj);
    }
    //printf("%d",t[0].num);
    for(j=0; j<3; j++)
    {
        printf("num:%d  name:%s  cj:%f\n",t[j].num,t[j].name,t[j].cj);
    }
}