9.3演習4の問題文の解析解

:ために書かれた羅区P1597

タイトル説明

ストリングPASCAL言語コード長のみ、bは、3つの変数、およびのみ代入文C、割り当てのみ数または変数、各代入文の形式であることができ、255を超えません[变量]:=[变量或一位整数];ゼロの未割り当て変数の値。のA、B、Cの出力値。

入力形式

ストリング(<255)PASCAL言語のみ、bは、3つの変数、およびのみ代入文C、割り当てのみ数または可変とすることができ、変数が0割り当てられていません。

出力フォーマット

それは最終的な値のA、B、Cを出力します。

サンプル入力

a:=3;b:=4;c:=5;

サンプル出力

3 4 5

分析

基本的なシミュレーションの質問。
我々は、我々の入力を保持する文字列sで始まります。
その後、我々は5つの文字、フォームからなる文を見つけることができ、「X:= Y;」を、どこX確かに文字「」、「B」、 「C」 1、およびY「A」であってもよいし、「B」 、「9」から「C」またはデジタル「0」です。
その後、さまざまな状況で、B、Cの値を得ることができます。
次のようにコードは次のとおりです。

#include <bits/stdc++.h>
using namespace std;
string s;
int a, b, c;
int main() {
    cin >> s;
    int len = s.length();
    for (int i = 0; i+4 < len; i += 5) {
        char d = s[i];
        char e = s[i+3];
        int f;
        if (isdigit(e)) {
            f = e - '0';
        }
        else {
            if (e == 'a') f = a;
            else if (e == 'b') f = b;
            else f = c;
        }
        if (d == 'a') a = f;
        else if (d == 'b') b = f;
        else c = f;
    }
    printf("%d %d %d\n", a, b, c);
    return 0;
}

おすすめ

転載: www.cnblogs.com/zifeiynoip/p/11570743.html
おすすめ