C++请你写一个含有多个"lanqiao"字样的句子,然后输出句子中出现"lanqiao"字样的个数。(注意:"lanqiao"字样可以是不同大小写字母的组合,例如:""、""等。)
时间: 2023-09-09 11:12:08 浏览: 141
代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char sentence[100];
int count = 0;
printf("请输入一句话:\n");
fgets(sentence, 100, stdin); // 从标准输入读入一行字符串
char *p = sentence;
while ((p = strcasestr(p, "lanqiao")) != NULL) { // 忽略大小写查找字符串
count++;
p += strlen("lanqiao");
}
printf("该句话中出现了 %d 个“lanqiao”字样。\n", count);
return 0;
}
```
这段代码首先读入一句话,然后使用 `strcasestr` 函数在其中查找字符串 "lanqiao",并且忽略大小写。每找到一个 "lanqiao",就将计数器加一,最后输出计数器的值。注意使用 `fgets` 函数读入字符串,可以避免因为输入字符串过长而导致的数组越界问题。
相关问题
写一个c程序,功能要求:给点一个字符串,判断字符串中是否包含LANQIAO,如果包含LANQIAO,请输出一个英文单词YES,否则输出一个英文单词NO
下面是一个简单的C程序,用于检查给定字符串中是否包含 "LANQIAO" 这个子串,如果包含则输出 "YES",否则输出 "NO"。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
const char* target = "LANQIAO";
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 使用fgets以防止换行符干扰
str[strcspn(str, "\n")] = '\0'; // 移除fgets读取到的换行符
if (strstr(str, target)) { // strstr函数查找目标子串
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
在这个程序中,我们首先从用户那里获取输入的字符串,然后使用 `strstr` 函数来检查该字符串是否包含 "LANQIAO"。如果包含,就输出 "YES",否则输出 "NO"。
0x77278712 处(位于 lanqiao1.exe 中)有未经处理的异常: Microsoft C++ 异常: std::length_error,位于内存位置 0x0039F2A4 处。
0x77278712 处(位于 lanqiao1.exe 中)有未经处理的异常: Microsoft C 异常: std::length_error,位于内存位置 0x0039F2A4 处。这个异常是由于程序在执行过程中发生了一个长度错误。具体来说,这个错误可能是由于某个容器或字符串的长度超过了其所能容纳的最大长度所导致的。
阅读全文