#31173: C++ 參考


b09901113@g.ntu.edu.tw (戴子珅)

學校 : 不指定學校
編號 : 197132
來源 : [118.165.171.15]
最後登入時間 :
2022-07-12 16:48:53
d086. 態度之重要的證明 -- 成功電研20th~21st C++ ~最後的競賽~ | From: [118.165.182.115] | 發表日期 : 2022-07-16 23:47

#include <iostream>
#include <string>
using namespace std;
bool CheckIfAlphabet(char Input){return (((Input>=65)&&(Input<=90))||((Input>=97)&&(Input<=122)));}
int main(){
    string Input;
    while(cin>>Input){
        if(Input==to_string(0)){break;}//<-判斷是否結束,不需要打 if((Input[0]=='0')&&(Input.length()==1))
        int Sum = 0;
        for(int I=0;I<Input.length();I++){
            if(CheckIfAlphabet(Input[I])){Sum += (Input[I]<=93)?(Input[I]-'@'):(Input[I]-'`');}//<- '@' 跟 「`」 的原因請參考ASCII表。
             //93可以替換成任何介於91~96的數字,原因同上一行的註解
            else{cout<<"Fail"<<'\n';goto Next;}//<-這邊你可以用 goto 直接跳出去到下一個輸入,或是用一個bool 來判斷
        }
        cout<<Sum<<'\n';
        Next:{continue;}
    }
}
 
ZeroJudge Forum