C++第五次上机实验-成绩

xiaoxiao2021-02-27  275

一 问题及代码: /* * 文件名称:成绩 * 作 者:徐永栋 * 完成日期:2017 年5月5日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述: 输入小组成绩 * 问题描述:略 * 程序输出:输出该小组的最高成绩、最低成绩、平均成绩,考得最高成绩最低成绩的同学的人数,输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。 * 问题分析:无 * 算法设计:无 */ #include<iostream> using namespace std; int main() { double a[10],sum,max,min,x; int i,b(0),n(0),m(0),c(0),d(0),smax[10],smin[10]; cout<<"小组人数:10"<<endl; cout<<"成绩:"<<endl; while(b!=10) { cin>>x; if(x<0||x>100)continue; a[b]=x; b++; } if(b==10) { sum=a[0]; max=min=a[0]; for(i=1;i<10;i++) { sum+=a[i]; if(a[i]>max)max=a[i]; if(a[i]<min)min=a[i]; } for(i=0;i<10;i++) { if(a[i]==max){smax[n]=i;n++;} if(a[i]==min){smin[m]=i;m++;} } cout<<"该小组的最高成绩:"<<max<<","<<"最低成绩:"<<min<<","<<"平均成绩:"<<sum/10<<endl; cout<<"考得最高成绩的同学的人数:"<<n<<","<<"最低成绩的同学的人数:"<<m<<endl; cout<<"考得最高成绩绩的同学的学号:"; for(i=0;i<n;i++) cout<<smax[i]<<" "; cout<<",最低成绩的同学的学号:"; for(i=0;i<m;i++) cout<<smin[i]<<" "; cout<<endl; } else cout<<"error"; return 0; } 二  运行结果: 三 心得体会: 这次的程序较长,弄错了好几次,在老师的帮助下一一改正,我要继续努力。 四  知识点总结: 1.一维数组的一般格式为:     类型标识符  数组名[常量表达式]; 例如:     int a[10]; 它表示数组名为a,此数组为整型,有10个元素。 关于一维数组的几点说明: 1) 数组名定名规则和变量名相同,遵循标识符定名规则。 2) 用方括号括起来的常量表达式表示下标值。 3) 常量表达式的值表示元素的个数,即数组长度。 4) 常量表达式中可以包括常量、常变量和符号常量,但不能包含变量。
转载请注明原文地址: https://www.6miu.com/read-4474.html

最新回复(0)