安全保密是一项重要工作,如何判定文件是否涉密?我们给出一个简单的假定。 假定读入的数据内容中有“secret”字样,则说明为涉密文件。 下面请你用c++编写程序,对输入的一串字符(最多80个字符,串中可能有空格)统计有无“secret”单词出现,如果出现,请说明其出现在第几个单词处(从1开始计数)。 注意:此单词可能多次出现。 输入格式: 输入一串长度不大于80个字符的字符串 输出格式: 如果字符串有”secret”,则输出”secret”位于第几个单词处(从1开始计数) 如果有多个”secret”,需全部标出,每个输出一行 如果字符串无“secret”,则输出No "secret"。 注意输出中有双引号。 输入样例1: This's a secret file 输出样例1: "secret" is pos 3 输入样例2: My name is lisa 输出样例2: No "secret" 输入样例3: This's a secret file that is not secret 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/2301_80348267/article/details/137183938
理解问题安全保密是一项重要工作,如何判定文件是否涉密?我们给出一个简单的假定。 假定读入的数据内容中有“secret”字样,则说明为涉密文件。 下面请你用c++编写程序,对输入的一串字符(最多80个字符,串中可能有空格)统计有无“secret”单词出现,如果出现,请说明其出现在第几个单词处(从1开始计数)。 注意:此单词可能多次出现。 输入格式: 输入一串长度不大于80个字符的字符串 输出格式: 如果字符串有”secret”,则输出”secret”位于第几个单词处(从1开始计数) 如果有多个”secret”,需全部标出,每个输出一行 如果字符串无“secret”,则输出No "secret"。 注意输出中有双引号。 输入样例1: This's a secret file 输出样例1: "secret" is pos 3 输入样例2: My name is lisa 输出样例2: No "secret" 输入样例3: This's a secret file that is not secret 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/2301_80348267/article/details/137183938
已完成理解「安全保密是一项重要工作,如何判定文件是否涉密?我们给出一个简单的假定。 假定读入的数据内容中有“secret”字样,则说明为涉密文件。 下面请你用c++编写程序,对输入的一串字符(最多80个字符,串中可能有空格)统计有无“secret”单词出现,如果出现,请说明其出现在第几个单词处(从1开始计数)。 注意:此单词可能多次出现。 输入格式: 输入一串长度不大于80个字符的字符串 输出格式: 如果字符串有”secret”,则输出”secret”位于第几个单词处(从1开始计数) 如果有多个”secret”,需全部标出,每个输出一行 如果字符串无“secret”,则输出No "secret"。 注意输出中有双引号。 输入样例1: This's a secret file 输出样例1: "secret" is pos 3 输入样例2: My name is lisa 输出样例2: No "secret" 输入样例3: This's a secret file that is not secret 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/2301_80348267/article/details/137183938」
展开阅读网页
根据给定的假定和要求,我们可以编写一个C++程序来实现对输入字符串中“secret”单词出现位置的统计。程序的基本思路是遍历输入的字符串,将其中的单词与“secret”进行比较,如果匹配则记录其位置。以下是实现该功能的C++代码示例:
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string input;
std::getline(std::cin, input); // 读取一行字符串作为输入
std::istringstream iss(input);
std::string word;
int wordCount = 0; // 单词计数器
int secretPos = -1; // "secret"出现的位置
while (iss >> word) {
++wordCount;
if (word == "secret") {
if (secretPos == -1) {
secretPos = wordCount;
} else {
std::cout << "\"secret\" is pos " << wordCount << std::endl;
}
}
}
if (secretPos == -1) {
std::cout << "No \"secret\"" << std::endl;
} else {
std::cout << "\"secret\" is pos " << secretPos << std::endl;
}
return 0;
}
这段代码首先使用std::getline
函数读取用户输入的一行字符串。然后,使用std::istringstream
和std::string
来分割字符串为单词,并使用一个计数器wordCount
来记录当前单词的位置。如果单词匹配“secret”,则记录其位置,并在最后输出所有匹配的位置。如果没有找到“secret”,则输出“No "secret"”。12