在数组score中将要存储某小组程序设计的成绩(设有10人),编程实现下列功能:(1)输入小组人数及成绩,要保证成绩在0-100之间;(2)输出该小组的最高成绩、最低成绩、平均成绩;(3)输出考得最高成绩和最低成绩的同学的人数;(4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。(5)(选做)求出所有同学成绩的标准偏差,标准偏差公式为,其中为xi样本(即某同学成绩),x(上带一横)为均值(前面已经求出),N为样本数目;
#include<iostream.h> #include<math.h> void main() { const int N=10; int a[N],i,max,min,j=0,k=0,b[N],c[N]; double S=0.0,aver=0.0; cout<<"请输入成绩:"; for(i=0;i<N;i++) { cin>>a[i]; if(a[i]>100||a[i]<0) cout<<"输入有错"<<endl; } max=a[0]; min=a[0]; for(i=0;i<N;i++) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; aver+=a[i]; } aver/=N; cout<<"最高分为:"<<max<<"分;最低分为"<<min<<"分;平均分为"<<aver<<"分。"<<endl; for(i=0;i<N;i++) { if(a[i]==max) { b[j]=i; j++; } if(a[i]==min) { c[k]=i; k++; } } cout<<"最高分有"<<j<<"个,学号为"; for(i=0;i<j;i++) cout<<b[i]<<" "; cout<<endl; cout<<"最低分有"<<k<<"个,学号为"; for(i=0;i<k;i++) cout<<c[i]<<" "; cout<<endl; for(i=0;i<N;i++) S+=pow(a[i]-aver,2); S/=(N-1.0); S=sqrt(S); cout<<"标准偏差为"<<S<<endl; }项目5:求和
从键盘中输入10个数放入数组a,求a数组中正数和负数的和。
#include<iostream.h> void main() { const int N=10; int a[N],sum1=0,sum2=0,i; cout<<"请输入十个整数:"; for(i=0;i<N;i++) { cin>>a[i]; if(a[i]>0) sum1+=a[i]; if(a[i]<0) sum2+=a[i]; } cout<<"正数之和为"<<sum1<<endl; cout<<"负数之和为"<<sum2<<endl; }