这个C程序代码问题出在什么地方?大神帮看看
程序代码:
void newban(int x) { FILE fp; int g,e,h; int k,ki; char filename[40][8]={"1.dat","2.dat","3.dat","4,dat3","5.dat","6.dat","7.dat","8.dat","9.dat","10.dat","11.dat","12.dat","13.dat","14.dat", "15.dat","16.dat","17.dat","18.dat","19.dat"}; for(k=0;k<x;k++)//统计每个班的人数 for(ki=0;ki<i;ki++) if (stu[k].score[1]==k+1) banrs[k]++; for (k=1;k<=x;k++) { g=0; //用来保存班级学生数 for (ki=0;ki<i;ki++) if(stu[ki].score[1]==k) { nstu[g]=stu[ki]; g++; } order(nstu,g); //对新班进行班级成绩排序 for(e=0;e<g;e++) //确定本班学生的成绩名次 nstu[e].score[1]=(float)(e+1); fp=fopen(filename[k-1],"w"); //创建一个名字为filename字符串数组中对应的文件名,并且给文件指针fp for(h=0;h<g;h++) //输出新班数据到对应的k.dat文件 fprintf(fp,"%s %d %s %s %f %f\n",nstu[h].name,nstu[h].num,nstu[h].sex,nstu[h].classes,nstu[h].score[0],nstu[h].score[1]); fclose(fp); //关闭内存中的文件 for(e=0;e<g;e++) // 对nstu结构体数组清空,方便下一班级学生数据处理; nstu[e]=tempstu[e]; } }[/code]
[此贴子已经被作者于2016-12-13 17:06编辑过]