计算学生成绩的程序,有点小麻烦 求帮助!!!
本人刚学c语言,写的程序的可读性很差,但仍希望各位能看看帮帮俺!这是一个计算关于学生成绩的程序(输入十个学生的五科成绩,然后计算各人的平均成绩及整体的平均的成绩以及各科的平均分等)但这跟程序在vc上可以运行但是在tc及dev上输出的第一个学生的成绩老是错误的其他的学生的是正确的!!求解啊!!!
#include<stdio.h>
#include<math.h>
#define N 10 /*十个学生*/
#define M 5 /*五门成绩*/
float fenshu[N][M];
float aveone[5]; /*每个学生五科成绩平均分*/
float aveprj[10]; /*每科成绩十个人的平均分*/
float c,max,f;
int a,b; /*b为五十个分数中最高分数的科目a为学生*/
int main()
{
int i,j;
void inputfenshu(); /*输入五十科成绩函数*/
void avehone(); /*计算每个学生五科成绩平均分函数*/
void avehprj(); /*计算每科十人平均分函数*/
void highest(); /*找出最高成绩属于哪个学生及科目函数*/
void var(); /*计算平均分方差函数*/
inputfenshu();
avehone();
avehprj();
highest();
var();
printf("no, prj1 prj2 prj3 prj4 prj5 ave-one \n");
for(i=0;i<=9;i++)
{
printf("no.%-6d",i+1);
for(j=0;j<=4;j++)
printf("%-6.2f",fenshu[i][j]);
printf("%-6.2f\n",aveone[i]);
}
printf("average ");
for(i=0;i<5;i++)
printf("%-6.2f",aveprj[i]);
printf("\nhighest %-6.2fprj%d no.%d \n",max,b,a);
printf("maybe i can get the right answer!!");
getchar();
}
void inputfenshu()
{
int i,j;
for(i=0;i<=9;i++)
{
printf("please input student%d de Fenshu",i+1);
scanf("%f,%f,%f,%f,%f",&fenshu[i][0],&fenshu[i][1],&fenshu[i][2],&fenshu[i][3],&fenshu[i][4]);
}
}
void avehone()
{
float sum;
int i,j;
for(i=0;i<=9;i++)
{
sum=0;
for(j=0;j<=4;j++)
sum=sum+fenshu[i][j];
aveone[i]=sum/5;
}
}
void var()
{
float d,e;
int i,j;
d=0;
e=0;
f=0;
for(i=0;i<=9;i++)
{
d=aveone[i]*aveone[i]+d;
e=aveone[i];
}
f=d/10+pow(e/10,2);
}
void avehprj()
{
float sum;
int i,j;
for(i=0;i<=4;i++)
{
sum=0;
for(j=0;j<=9;j++)
{
sum=sum+fenshu[j][i];
aveprj[i]=sum/10.0;
}
}
}
void highest()
{
int i,j;
max=fenshu[0][0];
for(i=0;i<=9;i++)
for(j=0;j<=4;j++)
if(fenshu[i][j]>max)
{
max=fenshu[i][j];
b=j;
a=i;
}
}