设计函数 void printStart(char *str, char ch),已知字符串 str 中只包含由小写字母 组成的单词和空格,且首尾字符都不是空格,相邻两个单词之间有且只有一个空格,要求在屏幕输出 str 中所有以小写字母 ch 开头的单词,且以空格分隔。C++
时间: 2024-03-25 14:41:15 浏览: 56
同样的,我们可以按照类似的思路实现该函数。下面给出一个 C++ 版本的代码实现:
```c++
#include <iostream>
#include <cstring>
void printStart(char *str, char ch) {
char *p = str;
while (*p != '\0') {
// 跳过单词前面的空格
while (*p == ' ') {
p++;
}
// 查找单词结尾位置
char *q = p;
while (*q != ' ' && *q != '\0') {
q++;
}
// 判断单词首字母是否为 ch
if (*p == ch) {
// 输出单词并添加一个空格
while (p < q) {
std::cout << *p;
p++;
}
std::cout << ' ';
} else {
// 跳过该单词
p = q;
}
}
std::cout << std::endl;
}
int main() {
char str[] = "hello world, how are you doing today?";
printStart(str, 'h');
return 0;
}
```
该程序输出:
```
hello how
```
注意,C++ 中的输出可以使用 `std::cout` 代替 `putchar`,`std::endl` 代替 `\n`。
阅读全文