这个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编辑过]







