输入两个学生的姓名学号英语数学成绩,输出这两个学生的姓名学号平均分

#include <stdio.h>
main()
{
char name[20];
char number[20];
int a,b;
float m;
scanf("%s,%s,%d,%d\n",&name,&number,&a,&b);
m=((float)a+b)/2;
printf("%s,%s,%f\n",name,number,m);
}
我这个有乱码,而且算不到平均分(依旧是原来两个数值)
请问我这个改哪里,怎么改
谢谢
你这个输入名字的埋闭时候用一下gets(),或者getline函数,把蠢哗分数定义成double型,也就不存在类型转换了。不过还弯档裂是建议用string 代替char数组
#include <渣指慧如答stdio.h>
void main()
{
char name[20];
char number[20];
int a,b;
float m;
scanf("逗悔%s%s%d%d",name,number,&a,&b);
m=((float)a+b)/2;
printf("%s,%s,%f\n",name,number,m);

}