1、第三行是这 N 个学生获得的奖学金的总数。Sample Input4YaoLin 87 82 Y N 0ChenRuiyi 88 78 N Y 1LiXin 92 88 N N 0ZhangQin 83 87 Y N 1Sample OutputChenRuiyi9000 28700Problem SourceNOI 2005来源:最新评论您尚未登陆本站,不能发表评论,请评论人:boynanboy 发布时间:2011-3-8 0:13:47写的不太好,但是还正确,大家看看吧 #include stringusing namespace std;class studentprivate:stri
2、ng name;float exam;float clas;char cadre;char west;int num;int total;public:student()total=O;int count();void date();string print();void student:date()cinnameexamclascadrewestnum;string student:print()return name;int student:count()if(exam80&num0) total+=8000;85&80) total+=4000;90) total+=2000;west=
3、Y) total+=1000;if(clascadre=) total+=850;return total;int main()int m=0,a10,max=0,turn,tol=0;student *p10;coutvv 请输入学生数量:vvendl;m;for(int i=0;imax)max=ai;turn=i;string nam=(*pturn).print();vvtolvvendl;得奖金最多的是:vvnamvv 金额是:vvmaxvvendlvv总金额是:return 0;评论人:zhanglinjie 发布时间:2010-7-20 14:15:26#include vios
4、tream#include vstringtypedef struct nodeint max;int lastscore;int classscore;char manage;int paper;*scholarship;int search_max(scholarship p)if(p-lastscorep-paper=1)p-max+=8000;classscore85)p-max+=4000;=90)p-max+=2000;max+=1000;manage=80)p-max+=850;return p-max;int N;N;scholarship head=new nodeN;for
5、 (int i=0;headi.max=0;headi.nameheadi.lastscoreheadi.classscoreheadi.manageheadi.westheadi.paper;int index=0,max=0;if(search_max (&headi)headindex.max)index=i;max+=headi.max; coutvheadindex.namevvendl vvheadindex.maxvendlvvmaxvvendl;delete head;sjb2 发布时间:2010-5-7 11:59:36class CStudentstring Name; /
6、姓名;长度不超过20,不含空格,字母组成int Score; / 期末平均成绩;0, 100int Comment; / 班级评议成绩;char IsCadre; / 是否学生干部; Y, N char IsWest; / 是否西部;int ThesisNum; / 论文数目;0, 10void main()int StuNum = 0;请输入学生数:;cinStuNum;CStudent* pStu = new CStudentStuNum;下面开始输入学生信息,格式为:lazycat 87 82 Y N 0vvendlvvendl; for (int i = 0; i v StuNum;
7、i+)i + 1pStui.ScorepStui.CommentpStui.lsCadrepStui.lsWestpStui.ThesisNum;int max = 0; / 最多的奖学金int index = 0;int sum = 0; /所有学生获得的奖学金总数for (int j = 0; j 80 & pStuj.ThesisNum = 1)sum += 8000;total += 8000;/五四奖学金 85 & pStuj.Comment 80)sum += 4000;total += 4000;/成绩优秀奖 90)sum += 2000;total += 2000;/西部奖学金
8、 pStuj.lsWest = )sum += 1000;total += 1000;/班级贡献奖 pStuj.lsCadre = sum += 850;total += 850;if (total max)max = total;index = j;coutvvendlvvendl;coutvvpStuindex.Namev#includeviterator#includevstring#includesetcctypestruct studentstudent():aversco(0),score(0),cadre(N),west(),paper(O),prize(O) /*friend bool operator (const student&,const student&);*/int aversco;int score;int prize;/*friend ostream& operator(ostrea m&,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1