C++ 判断字符串四元组是否为“浴眼盯真”
C++ 判断字符串四元组是否为“浴眼盯真”
题目描述
给定四个用空格分隔的字符串 'a', 'b', 'c', 'd',保证其只包含小写英文字母,你需要判断 ('a', 'b', 'c', 'd') 是否是“浴眼盯真”的。
- 'a', 'b' 的首字母均为 'y'。
- 'c' 恰好等于 'ding'。
- 'd' 恰好等于 'zhen'。
输入格式
本题有多组测试数据。
第一行输入一个整数 'T',代表测试数据组数。
接下来 'T' 行,每行输入四个用空格分隔的字符串 'a', 'b', 'c', 'd'。
输出格式
对于每组数据输出一行。
如果 ('a', 'b', 'c', 'd') 是“浴眼盯真”的,输出 'Yes',否则输出 'No'。
样例
样例输入 #1
5
y'i yan ding zhen
yu yan ding zhen
z'heng tai ding zhen
y'in yang guai qi
y'ou xiu su zhi
样例输出 #1
Yes
Yes
No
No
No
C++ 代码
#include <iostream>
#include <string>
using namespace std;
// 判断是否是浴眼盯真
bool isYuDing(string a, string b, string c, string d) {
if (a[0] != 'y' || b[0] != 'y') {
return false;
}
if (c != 'ding' || d != 'zhen') {
return false;
}
return true;
}
int main() {
int T;
cin >> T;
cin.ignore(); // 忽略换行符
while (T--) {
string a, b, c, d;
getline(cin, a, ' '); // 读取a
getline(cin, b, ' '); // 读取b
getline(cin, c, ' '); // 读取c
getline(cin, d); // 读取d
if (isYuDing(a, b, c, d)) {
cout << 'Yes' << endl;
} else {
cout << 'No' << endl;
}
}
return 0;
}
代码解释
isYuDing函数用于判断一个字符串四元组是否为“浴眼盯真”。- 函数首先判断 'a', 'b' 的首字母是否为 'y',如果不满足则返回
false。 - 接着判断 'c' 是否等于 'ding' 以及 'd' 是否等于 'zhen',如果不满足则返回
false。 - 如果所有条件都满足,则返回
true。 main函数读取输入数据并调用isYuDing函数进行判断,并将结果输出。
总结
本题的代码逻辑较为简单,只需要根据题目要求对字符串进行判断即可。需要注意的是,输入数据可能存在换行符,需要使用 cin.ignore() 忽略换行符,并使用 getline 函数读取字符串。
原文地址: https://www.cveoy.top/t/topic/pOn3 著作权归作者所有。请勿转载和采集!