Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Kiểm tra câu trả lời Yes/No dựa trên nguyên âm cuối câu bằng C++

Mô tả bài toán

Amal và Bimal chơi trò chơi: Amal đặt câu hỏi, câu trả lời là "Yes" nếu chữ cái cuối cùng của câu hỏi là nguyên âm (A, E, I, O, U, Y, không phân biệt hoa thường), ngược lại "No". Cho chuỗi S là câu hỏi, hãy xác định câu trả lời.

Ví dụ

S = "Is it in university?" → Chữ cái cuối cùng trước dấu '?' là 'y' (nguyên âm) → Output: "YES".

Thuật toán

  1. Xác định tập nguyên âm: "AEIOUYaeiouy".
  2. Duyệt chuỗi S, lưu lại ký tự alphabetic cuối cùng gặp được.
  3. Nếu ký tự đó nằm trong tập nguyên âm thì trả về "YES", ngược lại "NO".

Code C++

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

string solve(string S) {
    string vowels = "AEIOUYaeiouy";
    char lastAlpha = 0;
    for (char c : S) {
        if (isalpha(c))
            lastAlpha = c;
    }
    if (vowels.find(lastAlpha) != string::npos)
        return "YES";
    else
        return "NO";
}

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

Đầu vào / Đầu ra

Input: "Is it in university?"

Output: YES