北京理工大学再審査マシン--2016

1は、入力学生の情報は、スコア(結果の数は限らない)の名前は、各生徒の学校数と成績評価点平均の出力、およびいくつかのコースを失敗による2人の失敗の学生以上のコースの数は、出力を降順にソート。
入力:
STU1
60 70 80 30
STU2
10 20 30 40 50
stu3
10 20 30 40 50 60 30
stu4
60 80 100
stu5
50 40 30 60 70
出力:
STU1 60
STU2 30
stu3 34.2857
stu4 80
stu5 50
2人以上の学生が失敗したいくつかのコースは、次のとおりです。
stu3 34.2857
STU2 30
stu5 50
書式#include <iostreamの> 
の#include <ベクトル> 
の#include <アルゴリズム>
 使用して 名前空間をSTD。

構造体の学生
{ 
    文字列名。
    ベクトル < int型 > グレード。
    int型 lownum = 0 ;
    ダブルavgs; 
}。

BOOL CMP(学生S1、学生S2){
     リターン s1.lownum> s2.lownum。
} 

int型のmain(){ 
    ベクトル <学生> V、VV。
    文字列sの。
    coutの << "生徒の情報を入力してください、名前を#最終結果を入力してください...... " << てendl;
     しばらく(CIN >> S){
         IF(S == " "BREAK ; 
        学生STU; 
        stu.name = S;
         int型スコア、SUM = 0、CNT = 0 ;
         一方(CIN >> 音楽){ 
            stu.grade.push_back(音楽); 
            IF(スコア< 60)stu.lownum ++ ; 
            SUM + = スコア; 
            CNT ++ ;
             IF(getchar関数()== ' \ n個'ブレーク
        } 
        stu.avgs =和/(ダブル)CNT。
        v.push_back(STU)。
        もし(stu.lownum> 2 )vv.push_back(STU)。
    } 
    ソート(vv.begin()、vv.end()、CMP)。
    以下のためにINT iが= 0 ; I <v.size(); I ++ ){ 
        COUT << V [I] .nameの<< "  " << V [i]は.avgs << ENDL。
    } 
    COUT << " 不及格课程数超过2的学生有:" << ENDL。
    INT iは= 0 ; I <vv.size(); I ++ ){ 
        COUT << VV [I] .nameの<< "  " << VV [I] .avgs << ENDL。
    } 
    戻り 0 
}
図2に示すように、入力文字列は、文字列は、デジタル出力を備えます
入力:2.3ABC0-2.3
出力:2.3 0 -2.3。
入力:004.500
出力:4.5
(もともと出力+4.5が、私たちは、「+」に右の特定の問題や問題を必要とするべきではないと感じます)
書式#include <iostreamの> 
の#include <ベクトル>
 使用して 名前空間はstdを、

int型{)(メイン
     ストリングS。
    一方、(CIN >> S){
         文字列、STR 
        ベクトル < 文字列 > V。
        int型のドット。
        以下のためにINT iが= 0 ; I <s.lengthを(); I ++ ){
             場合(S [I] == ' + '続けますもし(!はisalpha(S [i])と)STR + = S [i]は、
            もし(はisalpha(S [I])|| I == s.length() - 1 || S [I + 1 ] == ' - ' ){
                 場合(STR =!"" ){
                     場合(str.length( !)= 1 ){
                         int型 NUM = 0、NUM1、フラグ= 0 、NUM2。
                        int型 J = 0 ; J <str.length(); J ++ ){
                             場合(STR [J] == ' 0 ')NUM ++ もし(STR [J] =!' 0 ' &&!フラグ){ 
                                フラグ ++ 
                                NUM1 = NUM; 
                            } 
                        } 
                        NUM = 0 ;フラグ= 0 INT J = str.length() - 1 ; J> = 0 ; j-- ){
                             場合(STR [J] == ' 0 ')NUMを++ もし(STR [J] =!' 0 ' &&!フラグ){ 
                                フラグ ++ 
                                NUM2 = NUM; 
                            } 
                        } 
                        STR = str.substr(NUM1、str.length() - NUM2 - NUM1)。
                    } 
                    v.push_back(STR)。
                    STR = "" ; 
                } 
            } 
        } 
        のためにINT iが= 0 ; I <v.size(); iが++ ){ 
            COUT<< V [i]は、
            もし(I <v.size() - 1)COUT << "  " ; 
        } 
        COUT << ENDL。
    } 
    戻り 0 
}

PS:2番目の質問には完璧し、それを変更する時間を取っていないようです!

セキュリティ研究テーマの背後にあるサマーキャンプがあり、より多くの時間があり、オンラインでもあります

おすすめ

転載: www.cnblogs.com/ache/p/12585215.html