求大神解答关于C语言结构体的问题

如图所示,这个代码是结构体,我要输入五个学生的姓名和分数,然后打印出来。之后要根据分数对他们的名字进行由高到低排列,,便宜没有提示问题,表格也打印出来了,但是25行以后的内容就出错了,出现了stack smashing detected这样的提示,还有一堆乱码。。到底是哪里出错了啊?? 我的想法是比较四轮分数,每次把分数少的那个name往右边移动,最后不就排出来了吗??可是错误在哪里??请求大神解答下

姓名可以以数组形式保存,可以先定义一个max,再用条件的形式进行比较,在以数组推移,只能说这些了,我也不是大神。