スペースをcodeup1010、マルチライン(無限の)入力

タイトル説明

グレードはFは、それぞれGPAを計算するために5つのレベル、所定のA、B、C、D、F、A、B、C、Dに分割され、各コースは4点、3点、2点、1点を表します0ポイント。

エントリー

試験サンプルの複数のセット。ライン当たりの入力データの各セットは、一つ以上の大文字で、文字間のスペースで区切られました。

輸出

行ごとの各出力。大文字は集合{A、B、C、D、F}で入力された場合、GPAに対応する出力は、2つの小数点以下をもたらします。それ以外の場合は、「不明」の出力。

サンプル入力  のコピー

ABCDF 
BFFCCA 
DCEF

サンプル出力  のコピー

2.00 
1.83 
不明

する#include <stdio.hに> 
する#include < 文字列・H> ボイドプロセス(チャーSTR [])。
INT のmain(){
        char型 STR [ 200 ] = {};
       ながら(!(STR)=取得0 {)
            工程(STR)。
            memsetの(STR、0はsizeof (STR))。
       } 戻り0 
} ボイドプロセス(CHAR STR []){
     int型のn = 0 CHAR CH;
    二重の合計=
 

 
     
 
0.0 
 
    以下のためにint型私は= 0 ; STRを[I] =!' \ 0 ' ; I ++ ){ 
        CH = strの[i]は、もし(CH == '  ' ){
             続けます
        } 
        もし、(CH> = ' A ' && CH <= ' D ' ){ 
             合計 + = 4 - (CH - ' A ' )。
             N ++ ; 
        } 
        それ以外の 場合は(CH == "F ' ){ 
            合計 + = 0.0 
            N ++ ; 
        } 
        { 
            のprintf(" 不明\ n " );
            リターン; 
        } 
    } 
 
    もし、(N!= 0 ){ 
 
        のprintf(" %.2lf \ n "、和/(ダブル)N)。
    } 
 
}

図1に示すように、複数行の入力処理

文字列の末尾が決定され、
STR [I]!= '\ 0'
元の文字列の内容を空に

おすすめ

転載: www.cnblogs.com/hiwjw/p/12569352.html