定义一个表示学生基本信息的结构体数据类型

这是题目要求:定义一个表示学生基本信息的结构体数据类型student,期中包括学号(char num[10])、姓名(char name[20])、性别(char sex)、三门功课成绩(int score[3])。定义两个函数fun_input(struct student)、fun_output(struct student),分别实现学生基本信息的输入与输出。main函数中定义一个数组struct student stu[5],再分别调用上述两个函数,输入五个学生信息,再将5个学生信息输出。
这是我的程序:

#include<iostream>
using namespace std;
struct student
{
    
    char num[10];
    char name[20];
    char sex[6];
    char score[3];
}stu[5];
void input(student stu[])
{
    int i,a;
    for(i=1;i<5;i++)
    {
        printf(“%d学号" ,i);
        scanf("%c",&stu[i].num);
        printf(“%d姓名”,i);
        scanf("%c",&stu[i].name);
        printf("%d性别" ,i);
        scanf("%c",&stu[i].sex);
        printf("%d成绩" ,i);
        scanf("%d",&stu[i].score);
    }
}
void output(student stu[])
{
    int i;
    for(i=0;i<5;i++)
    {
        printf("%c",stu[i].name);
        printf("%c",stu[i].sex);
        printf("%d",stu[i].score);
    }
}
int main()
{
    struct student stu[5];
    input(stu);
    output(stu);
}


没有报错但是在输入的时候就已经出问题了 ,该怎么修改?感谢感谢

注意你的结构体成员是char数组  用%s啊

注意你的中文符号!!!

#include<iostream>
using namespace std;
struct student
{

	char num[10];
	char name[20];
	char sex[6];
	char score[3];
}stu[5];
void input(student stu[])
{
	int i, a;
	for (i = 0; i < 5; i++)
	{
		printf("%d学号" ,i+1);
			scanf_s("%s", &stu[i].num,10);
		printf(" %d姓名", i+1);
		scanf_s("%s", &stu[i].name,20);
		printf("%d性别", i+1);
		scanf_s("%s", &stu[i].sex,6);
		printf("%d成绩", i+1);
		scanf_s("%s", &stu[i].score,3);
	}
}
void output(student stu[])
{
	int i;
	for (i = 0; i < 5; i++)
	{
		printf("%s ", stu[i].name);
		printf("%s ", stu[i].sex);
		printf("%s ", stu[i].score);
		printf(" \n");
	}
}
int main()
{
	struct student stu[5];
	input(stu);
	output(stu);
	return 0;
}