//帮人写的,扔了怪可惜的。发这里玩玩吧。
#include<iostream> #include<string> using namespace std; struct stu{ char name[10]; int math; int chinese; int english; int num_fail; //没有用 int outstanding; //没有用 int number; }; void averrage(stu []); //求平均分 void _failure(stu []); //>=两门不及格学生的学号和成绩 void outstanding(stu []); //85到90段的学生学号和姓名 stu student[10]={ {"王一哲",0,0,0,0,0,10080}, {"福大宁",0,0,0,0,0,10081}, {"王国柱",0,0,0,0,0,10082}, {"刘涛涛",0,0,0,0,0,10083}, {"董小卿",0,0,0,0,0,10084}, {"尼而采",0,0,0,0,0,10085}, {"歌尔德",0,0,0,0,0,10086}, {"康均德",0,0,0,0,0,10087}, {"薛仁贵",0,0,0,0,0,10088}, {"卫塽青",0,0,0,0,0,10089}}; int main() { //int m,c,e; cout<<"实验一:"<<endl <<"请输入成绩"<<endl; for(int i=0;i<10;i++){ cin>>student[i].math; cin>>student[i].chinese; cin>>student[i].english; if(10==i) break; } cout<<"结果如下:"<<endl; averrage(student); //求平均成绩 _failure(student); outstanding(student); return 0; } void averrage(stu st[]) //求平均分 { int av_ma=0,av_ch=0,av_en=0; for(int i=0;i<10;i++){ av_ma+=st[i].math; av_ch+=st[i].chinese; av_en+=st[i].english; } cout<<"---平均成绩列表--"<<endl<<endl; cout<<"---数学平均成绩:"<<av_ma/10<<endl <<"---汉语平均成绩:"<<av_ch/10<<endl <<"---英语平均成绩:"<<av_en/10<<endl; cout<<endl; return; } void _failure(stu st[]) { for(int i=0;i<10;i++){ if((st[i].math<60&&st[i].chinese<60&&st[i].english<60) ||(st[i].math>60&&st[i].chinese<60&&st[i].english<60) ||(st[i].math<60&&st[i].chinese>60&&st[i].english<60) ||(st[i].math<60&&st[i].chinese<60&&st[i].english>60)){ cout<<"至少两门成绩不及格学生学号:"<<" "; cout<<st[i].number <<endl<<endl; cout<<"---不及格成绩:"<<" "; if(st[i].math<60) cout<<"数学:" <<st[i].math<<" "; if(st[i].chinese<60) cout<<"汉语:" <<st[i].chinese<<" "; if(st[i].english<60) cout<<"英语:" <<st[i].english<<" "; cout<<endl; } } return; } void outstanding(stu st[]) { int t_aver=0; cout<<endl <<"优秀学生列表:"<<endl; for(int i=0;i<10;i++){ t_aver=(st[i].math+st[i].chinese+st[i].english)/3; if(t_aver>85&&t_aver<90){ cout<<"姓名:"<<st[i].name <<" 学号:"<<st[i].number<<endl; } } return; }