前面学习了c++的基本操作比如函数,运算符重载,类的用法,稍后会整理模板和STL的用法。这里要做的就是一些基本上机题的实战,其实学会这些就够应付简单机试了
案例:一个班有若干学生,有5门课程,找出平均成绩在90分以上的或者各科都85以上的学生。
想一下什么数据结构好,其实用类做好,但是我今天就用最数组做一下;
student【】【5】这样就可以了,列5个记录成绩,行没有具体规定。然后弄一个函数做输出
#include <iostream>
using namespace std;
void printstu(int a[][5],int num);
int main()
{
int num;//num是学生数
cout<<"请输入学生数"<<endl;
cin>>num;
int student[num][5];
for(int i=0;i<num;i++){
cin>>student[i][0]>>student[i][1]>>student[i][2]>>student[i][3]>>student[i][4];
}
printstu(student,num);
return 0;
}
void printstu(int a[][5],int num){
int avg,flag;
for(int i=0;i<num;i++){
//算均值
avg=0;flag=0;
for(int j=0;j<5;j++){
avg+=a[i][j];
if(a[i][j]<85)flag=1;
}
//判断一下是不是均值大于90或全都大于85
if((avg/5)>=90||flag==0)cout<<"学生"<<i+1<<"是优秀学生"<<endl;
}
}
这样很笨,后面会再更新用stl做的代码