想实现计算学生成绩的平均数和方差,为什么我这样计算出来的结果
c语言吧
全部回复
仅看楼主
level 12
Halsey🌿 楼主
想实现计算学生成绩的平均数和方差,为什么我这样计算出来的结果是nan啊?求大佬
2019年12月07日 10点12分 1
level 12
Halsey🌿 楼主
我实在找不出哪里错了🤷🏻♂️🤷🏻♂️🤷🏻♂️
2019年12月07日 10点12分 2
level 12
Halsey🌿 楼主
这是原码
#include<stdio.h>
#include<math.h>
float fun1(float score[])
{
int n,i;
float sum=0,M=0;
for(i=0;i<n;i++)
{
sum=sum+score[i];
}
M=sum/n;
return M;
}
float fun2(float score[])
{
int n,i;
float M,S=0,T=0;
M=fun1(score);
for(i=0;i<n;i++)
{
T=T+(score[i]-M)*(score[i]-M);
}
S=sqrt(T/n);
return S;
}
int main()
{
int n=0,i;
float score[100],M,S;
printf("请输入学生的成绩,输入负数时停止:\n");
for(i=0;i<100;i++)
{
scanf("%f",&score[i]);
if(score[i]<0)
{
break;
}
else
{
n++;
}
}
printf("输入了%d个学生\n",n);
M=fun1(score);
S=fun2(score);
printf("学生的平均分为%4.3f\n",M);
printf("学生的分数方差为%4.3f\n",S);
return 0;
}
2019年12月07日 10点12分 3
level 11
有任何问题可以来有大神免费解答
2019年12月07日 10点12分 4
level 12
Halsey🌿 楼主
🤔
2019年12月07日 11点12分 5
level 10
你的子函数都没定义m s n
2019年12月07日 12点12分 6
定义了的啊……
2019年12月07日 13点12分
@Halsey🌿 子函数哪里知道n
2019年12月07日 13点12分
@梦想是你🌀 n是主函数我赋的值,这样不行吗[乖]
2019年12月07日 13点12分
@Halsey🌿 子函数要是知道n是多少 你又何必返回m n呢 直接主函数用不就行
2019年12月07日 13点12分
level 1
因为他喜欢女
2019年12月07日 13点12分 7
1