Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โค้ด C++ ตอบคำถามจากการตรวจสอบสระ

สมมติว่าเรามีสตริง S อมลและบิมลกำลังเล่นเกม กฎคือ: ผู้เล่นคนแรก (อมล) เป็นนักสืบ ต้องสอบสวน "อาชญากรรม" และหาสาเหตุ เขาสามารถถามคำถามได้ที่ตอบ "ใช่" หรือ "ไม่" เท่านั้น หากตัวอักษรสุดท้ายของคำถามเป็นสระ จะตอบ "ใช่" มิฉะนั้นตอบ "ไม่" สระคือ: A, E, I, O, U, Y เรามี S เป็นคำถาม ต้องหาคำตอบ

เช่น ถ้าอินพุตคือ S = "Is it in university?" เอาต์พุตจะเป็น Yes

ขั้นตอนการแก้ปัญหา

s := "AEIOUYaeiouy"
for i := 0 ถึง size of S - 1:
    t := S[i]
    if t เป็นตัวอักษร:
        ans := t
if ans อยู่ใน s:
    return "YES"
otherwise:
    return "NO"

ตัวอย่างโค้ด

#include <bits/stdc++.h>
using namespace std;

string solve(string S) {
    string s = "AEIOUYaeiouy";
    char ans;
    for (int i = 0; i < S.size(); i++) {
        char t = S[i];
        if (isalpha(t))
            ans = t;
    }
    if (s.find(ans) != -1)
        return "YES";
    else
        return "NO";
}

int main() {
    string S = "Is it in university?";
    cout << solve(S) << endl;
}

อินพุต

"Is it in university?"

เอาต์พุต

YES