学习c新生做了一个c程序问什么在vc可以,在tc上有些数据错误,求解?望各位高人帮助!!
输入十个学生的五科成绩,计算每个学生的平均分及每科成绩10个人的平均成绩,及每个学生的平均分的方差?在vc上完全正确但在tc上第一个学生的成绩老是随机的数,不能理解,希望高手指教???
#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;
}
}