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番目の質問には完璧し、それを変更する時間を取っていないようです!
セキュリティ研究テーマの背後にあるサマーキャンプがあり、より多くの時間があり、オンラインでもあります