for (i=0;i<10;i++)
scanf("%d %c %f",&sch[i].num,&sch[i].name,&sch[i].score ); 就可以了。
float score,float 型输入格式 是 %f 不是 %lf。
&sch[1].name 里的 1 改用 i.
注意,你的 name 只允许 1个字符。若多个字符 就会出错。
如果 改为:
struct student {
int num;
char name[20]; // 用字符串,而不是单个字符
float score;
} sch[10];
输入格式 name 用 %s, 参数 sch[i].name,没有 &号:
for (i=0;i<10;i++)
scanf("%d %s %f",&sch[i].num, sch[i].name,&sch[i].score );
&sch[1].name //写成1了,应该是i