[PAT]クラス1061デート(20点)

質問の意味:

4つの文字列が与えられると、同じ前方位置の最初の2つのシリーズと同じサイズの大文字(〜G)が(同じ位置の第2列と同じサイズの大文字または数字の前に、週表します〜9 0〜N)は、文字の部分を表す最初の二つの文字列と等しい大きさ及び同じ位置の後に位置する点を表します。質問の意味に従って日付と時刻の出力。

コード:

#define HAVE_STRUCT_TIMESPEC
する#include <ビット/ STDC ++ H>
使用して名前空間std。
文字列S1、S2、S3、S4;
int型のmain(){
IOS :: sync_with_stdio(偽);
cin.tie(NULL)。
cout.tie(NULL)。
CIN >> S1 >> S2 >> S3 >> S4;
int型CNT = 0;
INTフラグ= 0。
チャーANS1 = 0、ANS2 = 0。
(; iは0をint型は、<分(s1.size()、s2.size())を; ++ i)が{
!フラグ&& S1(もし[I] == S2 [i]は&& S1 [i]が> = ' '&& S1 [i]が<=' G '){
ANS1 = S1 [i]は、
フラグ= 1。
}
そうであれば(フラグ== 1つの&& S1 [i]は== S2 [i]を&&(S1 [i]が> = '0' && S1 [i]が<= '9' || S1 [i]が> = 'A' && S1 [ I <= 'N')){
ANS2 = S1 [i]は、
フラグ= 2。
}
}
int型のPOS = 0。
以下のために(INT i = 0; iが<分(s3.size()、s4.size()); ++ I)
(S3 [I] == S4 [i]は&&(S3 [I]> = '' && S3 [i]が<= 'Z' || S3 [I]> = '' && S3 [i]は<=」もしZ ')){
POS = I。
ブレーク;
}
(ANS1 == 'A')であれば
COUT << "MON"。
それ以外(ANS1 == 'B')の場合
はcout << "火"。
それ以外の場合(ANS1 == 'C')
はcout << "WED"。
それ以外(ANS1 == 'D')の場合
はcout << "木"。
それ以外の場合(ANS1 == 'E')
はcout << "金"。
それ以外の場合(ANS1 == 'F')
はcout << "SAT";
それ以外の場合(ANS1 == 'G')
はcout << "SUN";
裁判所未満<<」「;
(ANS2> = '0' && ANS2 <= '9'の場合
){ ANS2 - = '0';
coutの<< 0;
}
そうであれば(ANS2> = '' && ANS2 <= 'N')
ANS2 - = 'A'-10。
coutの<<(int型)ANS2 << ":";
IF(POS <10)
COUT << 0。
coutの<< POS。
0を返します。
}

おすすめ

転載: www.cnblogs.com/ldudxy/p/11750135.html