小红在判题的时候,经常发现选手把"Yes"输出成"YES"或者"yes",她希望写一个spj(special judge)来判断选手是否输出了"Yes"。你能帮帮她吗?请用c++的方式来写
时间: 2024-10-21 20:16:00 浏览: 42
Special Judge 头文件压缩包
当然可以,小红想要编写一个简单的字符串比较SPJ程序,用于检查输入的字符串是否只包含大写的 "Y" 跟小写的 "es"。下面是一个简单的C++函数示例:
```cpp
#include <string>
#include <cctype>
bool isYes(const std::string& input) {
// 首先检查长度,确保只有一个 "Yes"
if (input.size() != 4) {
return false;
}
// 接着检查字符是否分别为 'Y', 'e', 's'
if (tolower(input[0]) != 'y' || tolower(input[1]) != 'e' || tolower(input[2]) != 's') {
return false;
}
// 最后一个字符需要检查是否为空格("Yes" 的最后一个字符应该是空格)
if (input[3] != ' ') {
return false;
}
// 如果以上条件都满足,那么就是"Yes"
return true;
}
// 使用这个函数来检查选手的答案
int main() {
std::string answer = "Yes"; // 示例输入
bool isValid = isYes(answer);
if (isValid) {
std::cout << "输出有效!" << std::endl;
} else {
std::cout << "输出无效,应为 'Yes'" << std::endl;
}
return 0;
}
```
阅读全文