• <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
            每學(xué)期的期末,大家都會忙于計算自己的平均成績,這個成績對于評獎學(xué)金是直接有關(guān)的。國外大學(xué)都是計算GPA(grade point average) 又稱GPR(grade point ratio),即成績點數(shù)與學(xué)分的加權(quán)平均值來代表一個學(xué)生的成績的。那么如何來計算GPA呢?

            一般大學(xué)采用之計分法

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

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

            科目 學(xué)分 分?jǐn)?shù) 點數(shù) 分?jǐn)?shù)×點數(shù) 
            英文  3    92    4     12
            化學(xué)  5    80    3     15
            數(shù)學(xué)  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表示這門課的學(xué)分,p表示該學(xué)生的成績(百分制)。如果p=-1則說明該學(xué)生這門課缺考,是不應(yīng)該計算在內(nèi)的。
             

            Output
            對每組數(shù)據(jù)輸出一行,表示該學(xué)生的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題  回復(fù)  更多評論   

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

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

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

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

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

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

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

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

            2010-07-25 22:18 by yanxiangtianji
            答案錯了
            答案對于gpa為0沒有區(qū)分是全掛了還是全缺考了,單純當(dāng)做全缺考處理。
            我在:http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=1090&messageid=1&deep=0有詳細(xì)說明

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产精品一久久香蕉国产线看| 国产精品伦理久久久久久| 2021国产精品久久精品| 亚洲AV无码久久| 色综合久久中文色婷婷| 青春久久| 99国产精品久久久久久久成人热| 99久久国产综合精品五月天喷水 | 久久精品天天中文字幕人妻 | 色综合久久88色综合天天| 精品无码久久久久久国产| 精产国品久久一二三产区区别| 久久九九精品99国产精品| 日韩欧美亚洲国产精品字幕久久久| 少妇无套内谢久久久久| 国産精品久久久久久久| 久久精品中文字幕无码绿巨人| 精品久久久无码中文字幕| 国内精品综合久久久40p| 久久久久久久久久免免费精品 | 精品久久久久久国产三级| 久久国产色AV免费看| 99久久综合国产精品免费| Xx性欧美肥妇精品久久久久久 | 日本WV一本一道久久香蕉| 精品熟女少妇aⅴ免费久久| 久久久久亚洲AV成人片| 国产成人精品综合久久久| 亚洲精品国产自在久久| 久久久精品视频免费观看| 婷婷久久综合九色综合98| 97久久精品无码一区二区 | 久久露脸国产精品| 久久久99精品一区二区| 91超碰碰碰碰久久久久久综合| 久久九九精品99国产精品| 久久久久亚洲AV成人片| 久久国产精品久久精品国产| 国产产无码乱码精品久久鸭| 99久久国语露脸精品国产| 99久久精品国产麻豆|