
#include<stdioh>
int main()
{
float stu[10][5];
float a[10];
int i,j;
float sum,ave;
for (i=0; i<10; i++) {
for (j=0; j<5; j++) {
scanf("%f",&stu[i][j]);
}
}
for (i=0; i<10; i++) {
sum=0;
for (j=0; j<5; j++) {
sum=sum+stu[i][j];
}
printf("第%d个学生的平均分:%2f\n",i+1,ave=sum/5);
a[i]=ave;
}
for (i=0; i<5; i++) {
sum=0;
for (j=0; j<10; j++) {
sum=sum+stu[j][i];
}
printf("第%d科成绩平均分:%2f\n",i+1,ave=sum/10);
}
ave=0;
for (i=0; i<10; i++) {
ave=ave+a[i];
}
ave=ave/10;
sum=0;
for (i=0; i<10; i++) {
sum=sum+(a[i]-ave)(a[i]-ave);
}
printf("平均方差:%f\n",sum/10);
return 0;
}
输入输出数据测试:
输入第1个学生的成绩:44 66 33 55 22
输入第2个学生的成绩:88 44 88 34 66
输入第3个学生的成绩:24 77 44 88 33
输入第4个学生的成绩:56 33 56 67 78
输入第5个学生的成绩:54 44 23 55 66
输入第6个学生的成绩:23 45 54 22 16
输入第7个学生的成绩:55 88 77 55 99
输入第8个学生的成绩:77 57 98 76 98
输入第9个学生的成绩:77 86 47 84 87
输入第10个学生的成绩:100 100 100 99 99
第1个学生的平均分:4400
第2个学生的平均分:6400
第3个学生的平均分:5320
第4个学生的平均分:5800
第5个学生的平均分:4840
第6个学生的平均分:3200
第7个学生的平均分:7480
第8个学生的平均分:8120
第9个学生的平均分:7620
第10个学生的平均分:9960
第1科成绩平均分:5980
第2科成绩平均分:6400
第3科成绩平均分:6200
第4科成绩平均分:6350
第5科成绩平均分:6640
平均方差:364128357
//计算平均数,方差,标准差。
#include <stdioh>
#include <conioh>
#include <stdlibh>
#include <timeh>
#include <mathh>
#define N 100
void TongJi(double a[],int n,double aver,double vari,double stdDev){
//对长度为n的数组a进行统计,统计其平均值aver、方差vari、标准差stdDev
int i;
double p,aver2;
aver=00;
for(p=a+(n-1);p>=a;--p){
aver+=p;//累加各元素
aver2+=(p)(p);//累加各元素的平方
}
aver/=n;//求平均值
aver2/=n;//求平方的平均值
vari=aver2-(aver)(aver);//计算方差
stdDev=sqrt(vari);//计算标准差
}
int main(){
double a[N],pj,fc,bzc;
int i;
srand(time(NULL));
for(i=0;i<N;++i){
a[i]=rand()/(RAND_MAX+10); //产生随机小数[0,1)
printf("%lg ",a[i]);
}
TongJi(a,N,&pj,&fc,&bzc);
printf("\nPingJun=%lg, FangCha=%lg, BiaoZhunCha=%lg",pj,fc,bzc);
printf("\nFinished!\n");
getch();
return 0;
}
顺便做了一个测试:产生100个随机小数,得到其平均值大概在05左右,方差在008左右,标准差在028左右。说明系统自带的随机数发生器还是比较均匀的。
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <mathh>
using namespace std;
typedef double DataType;
typedef vector<DataType> DataList;
DataType Average(DataList const & data_list)
{
size_t n;
DataType sum;
DataList::const_iterator ite = data_listbegin();
if ( ite == data_listend() ) return (DataType) 0;
n = data_listsize();
for (sum = ite++; ite != data_listend(); ite++)
{
sum += ite;
}
return sum / n;
}
DataType StdDev(DataList const & data_list)
{
size_t n;
DataType avg, var, diff;
DataList::const_iterator ite = data_listbegin();
if ( ite == data_listend() ) return (DataType) 0;
n = data_listsize();
avg = Average(data_list);
var = 0;
for (;ite != data_listend(); ite++)
{
diff = ite - avg;
var += diff diff;
}
return sqrt(var/n);
}
int main(int argc, char argv)
{
DataList data_list;
DataType min=0, max=0, avg=0, dev=0, ele;
while ( cingood() && cinpeek() != '\n') {
cin >> ele; data_listpush_back(ele);
}
min = min_element(data_listbegin(), data_listend());
max = max_element(data_listbegin(), data_listend());
avg = Average(data_list);
dev = StdDev(data_list);
coutprecision(4);
coutsetf(ios::fixed, ios::floatfield);
cout << "Min: " << min << endl
<< "Max: " << max << endl
<< "Average: " << avg << endl
<< "Standard deviation: " << dev << endl;
coutunsetf(ios::floatfield);
return 0;
}
以上就是关于c语言 输入10个学生5门功课成绩求:1每个学生的平均分;2每门功课的平均分;3计算平均方差全部的内容,包括:c语言 输入10个学生5门功课成绩求:1每个学生的平均分;2每门功课的平均分;3计算平均方差、用c语言定义一个函数,计算平均数,方差,标准差。(请用指针完成)、如何用C++或C编写求MAX,MIN,平均值,均方差等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)