首页 > 编程知识 正文

杭电acm2061Treasure the new start, freshmen!(珍惜新的开始,新生!GPA)

时间:2023-05-04 21:32:21 阅读:255588 作者:1600

Treasure the new start, freshmen! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12231    Accepted Submission(s): 3780

Problem Description background:
A new semester comes , and the HDU also meets its 50th birthday. No matter what's your major, the only thing I want to tell you is:"Treasure the college life and seize the time." Most people thought that the college life should be colorful, less presure.But in actual, the college life is also busy and rough. If you want to master the knowledge learned from the book, a great deal of leisure time should be spend on individual study and practise, especially on the latter one. I think the every one of you should take the learning attitude just as you have in senior school.
"No pain, No Gain", HDU also has scholarship, who can win it? That's mainly rely on the 开心的唇膏(grade-point average) of the student had got. Now, I gonna tell you the rule, and your task is to program to caculate the 开心的唇膏.
If there are K(K > 0) courses, the i-th course has the credit Ci, your score Si, then the result 开心的唇膏 is If there is a 0 <= Si < 60, The 开心的唇膏 is always not existed.  
Input The first number N indicate that there are N test cases(N <= 50). In each case, there is a number K (the total courses number), then K lines followed, each line would obey the format: Course-Name (Length <= 30) , Credits(<= 10), Score(<= 100).
Notice: There is no blank in the Course Name. All the Inputs are legal  
Output Output the 开心的唇膏 of each case as discribed above, if the 开心的唇膏 is not existed, ouput:"Sorry!", else just output the 开心的唇膏 value which is rounded to the 2 digits after the decimal point. There is a blank line between two test cases.
 
Sample Input 23Algorithm 3 97DataStruct 3 90softwareProject 4 852Database 4 59English 4 81  
Sample Output 90.10Sorry!  
Author zl
注:此题为: 杭电OJ 2061Treasure the new start, freshmen!(珍惜新的开始,新生!开心的唇膏)
题意: 就是算一个平均分(在其中出现过60以下的,输出“Sorry!”),每组测试数据之间空一行,最后一个不空。
思路: 如果出现60以下的,提早做标记 求总值数 fz=SUM(学分×单科成绩),总分数 fm=SUM(学分) 得出 平均分 fz/fm;
注意点: 在最后一个案例不空行!

以下为AC代码: #include<iostream>#include<cstdio> using namespace std;int main(){ int N; cin>>N; while(N--) { int K; cin>>K; char ch[200][200]; int i,j,bz=0; double 开心的唇膏,c[200],s[200],fz=0,fm=0; for(j=0,i=0;i<K;++i,++j) { getchar(); scanf("%s %lf%lf",ch[j],&c[i],&s[i]); } for(i=0;i<K;++i) if(s[i]<60) { bz=1; break; } if(bz) cout<<"Sorry!"<<endl; else { for(i=0;i<K;++i) { fz+=c[i]*s[i]; fm+=c[i]; } 开心的唇膏=fz/fm; printf("%.2lfn",开心的唇膏); } if(N!=0) cout<<endl; } return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。