• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 7, comments - 13, trackbacks - 0, articles - 37
               :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理
            題目描述

            The calculation of GPA

            Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
            Total Submission(s): 2613    Accepted Submission(s): 598


            Problem Description
            每學期的期末,大家都會忙于計算自己的平均成績,這個成績對于評獎學金是直接有關的。國外大學都是計算GPA(grade point average) 又稱GPR(grade point ratio),即成績點數(shù)與學分的加權平均值來代表一個學生的成績的。那么如何來計算GPA呢?

            一般大學采用之計分法

            A90 - 100 4 點
            B80 - 89 3 點
            C70 - 79 2 點
            D60 - 69 1 點
            E0 - 59 0 點

            例如:某位學生修習三門課,其課目、學分及成績分別為:
            英文:三學分、92 分;化學:五學分、80 分;數(shù)學:二學分、60分,則GPA的算法如下:

            科目 學分 分數(shù) 點數(shù) 分數(shù)×點數(shù) 
            英文  3    92    4     12
            化學  5    80    3     15
            數(shù)學  2    60    1      2
            合計  10   29
            29/10=2.9
            2.9即為某生的GPA
            下面有請你寫一個用于計算GPA的程序。
             

            Input
            包含多組數(shù)據(jù),每組數(shù)據(jù)的第一行有一個數(shù)N,接下來N行每行表示一門成績。每行有兩個實型的數(shù) s,p,s表示這門課的學分,p表示該學生的成績(百分制)。如果p=-1則說明該學生這門課缺考,是不應該計算在內(nèi)的。
             

            Output
            對每組數(shù)據(jù)輸出一行,表示該學生的GPA,保留兩位小數(shù)。如果GPA不存在,輸出-1。
             

            Sample Input
            3
            3 92
            5 80
            2 60
             

            Sample Output
            2.90
            鏈接http://acm.hdu.edu.cn/showproblem.php?pid=1202
            我的代碼
            //杭電1202
            #include<iostream>
            #include<iomanip>
            using namespace std;
            int main()
            {
            float suma=0,nowa,nowb,sum=0,point;
            int   n;
            int   flag=0;
            while(cin>>n)
            {
             for(int i=0;i<n;++i)
             {
              cin>>nowa>>nowb;
             if(nowb==-1)
              {
               flag++;
               continue;
              }
              if(nowb!=-1)
              {
             suma+=nowa;
               if(nowb>=90&&nowb<=100)
               point=4;
              if(nowb>=80&&nowb<90)
               point=3;
               if(nowb>=70&&nowb<=79)
             point=2;
               if(nowb>=60&&nowb<=69)
             point=1;
               if(nowb>=0&&nowb<=59)
             point=0;
                sum+=point*nowa;
              }
             
             }
            if(flag!=n)
            {cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);
             cout<<sum/suma<<endl;
            }
            else
              cout<<-1<<endl;
            }
            return 0;
            }
            別人AC的代碼
            #include<stdio.h>
            int main()
            {
               int i,sub;
               float score,allgpa,credit,allcredit;
               while(scanf("%d",&sub)!=EOF)
             {
               allgpa=0;
               allcredit=0;
               for(i=0;i<sub;i++)
              {
                 scanf("%f%f",&credit,&score);
                 if(score!=-1)
                 {
                     allcredit+=credit;
                     if(score==100)
                       allgpa+=credit*4;
                     else
                       if(score>59)
                         allgpa+=credit*((int)score/10-5);
                 }
               }
               if(allcredit==0)
               printf("-1\n");
               else printf("%.2f\n",allgpa/allcredit);
              }
            return 0;
            }
            我怎么也找不出錯誤呀

            Feedback

            # re: WA了無數(shù)次 我徹底郁悶了 --------------記杭電1202題  回復  更多評論   

            2009-04-08 23:02 by dengrenyi
            告訴你把 問題好像出在你定義的變量的初始化上

            # re: WA了無數(shù)次 我徹底郁悶了 --------------記杭電1202題  回復  更多評論   

            2009-04-08 23:05 by dengrenyi
            你有沒有想過,你在最前面定義的時候初始化,運算一次之后里面保存的是你前面一次計算的值,第二次運行并未進行修改

            # re: WA了無數(shù)次 我徹底郁悶了 --------------記杭電1202題  回復  更多評論   

            2009-04-11 11:20 by 路子
            @dengrenyi
            十分感謝

            # re: WA了無數(shù)次 我徹底郁悶了 --------------記杭電1202題  回復  更多評論   

            2009-10-15 09:47 by summercool
            問題在這里:
            p可能是實數(shù),不過題意描述得有問題,如果p在89到90之間,你的程序就沒法算了,但AC的代碼還是可以算的,我一開始也是你那樣寫,因為根據(jù)題目很直觀就能得到,不過,杭電的這個題目確實有問題!

            # re: WA了無數(shù)次 我徹底郁悶了 --------------記杭電1202題  回復  更多評論   

            2010-07-25 22:18 by yanxiangtianji
            答案錯了
            答案對于gpa為0沒有區(qū)分是全掛了還是全缺考了,單純當做全缺考處理。
            我在:http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=1090&messageid=1&deep=0有詳細說明
            国内精品久久久久久久久电影网 | 久久久国产精品福利免费| 欧美一区二区久久精品| 一本一本久久a久久综合精品蜜桃| 亚洲国产精品无码久久久蜜芽| 久久精品国产影库免费看| 久久综合精品国产一区二区三区| 久久精品中文字幕大胸| 99久久久国产精品免费无卡顿 | 久久香综合精品久久伊人| 久久人人爽人人爽人人片av高请| 丁香久久婷婷国产午夜视频| 久久天天躁夜夜躁狠狠躁2022| 久久se精品一区精品二区| 国产成年无码久久久免费| 国产日韩欧美久久| 国产精品对白刺激久久久| 精产国品久久一二三产区区别| 91精品无码久久久久久五月天 | 国产精品成人久久久| 国产精品青草久久久久福利99 | 97久久久久人妻精品专区| 亚洲国产成人久久综合野外| 久久久国产精品网站| 久久夜色精品国产噜噜噜亚洲AV| 天天综合久久一二三区| 岛国搬运www久久| 99久久国产综合精品五月天喷水 | 久久国产精品一区二区| 亚洲欧洲日产国码无码久久99| 中文字幕久久精品| 一级做a爰片久久毛片免费陪| 久久久久久青草大香综合精品| 97超级碰碰碰碰久久久久| 国产精品久久99| 国产精品久久久久9999高清| 久久精品天天中文字幕人妻| 久久精品国产亚洲AV高清热| 久久99精品久久久久久久久久| 国产亚洲欧美精品久久久| 精品999久久久久久中文字幕|