用C++计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000
时间: 2024-05-03 22:20:42 浏览: 10
好的,这是一个计算问题,可以回答。以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[5001];
fgets(str, 5001, stdin); // 读入字符串
int len = strlen(str), lastWordLen = 0;
for (int i = len - 2; i >= 0; i--) {
if (str[i] == ' ') { // 找到空格就返回最后一个单词的长度
printf("%d\n", lastWordLen);
return 0;
}
lastWordLen++; // 统计最后一个单词的长度
}
printf("%d\n", lastWordLen); // 如果没有空格,整个字符串就是最后一个单词
return 0;
}
```
当然,也可以使用 strtok 函数进行字符串分割,不过比较麻烦,这里就不贴代码了。
相关问题
C++输入多个字符串,以空格隔开
你可以使用 C++ 的 cin 或 getline 函数来输入多个字符串,以空格隔开。
使用 cin 函数:
```cpp
#include <iostream>
using namespace std;
int main() {
string s1, s2, s3;
cin >> s1 >> s2 >> s3;
cout << s1 << ", " << s2 << ", " << s3 << endl;
return 0;
}
```
使用 getline 函数:
```cpp
#include <iostream>
using namespace std;
int main() {
string line;
getline(cin, line);
cout << line << endl;
return 0;
}
```
如果你要输入多个字符串,可以使用循环来不断调用 getline 函数。例如:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<string> words;
string line;
getline(cin, line);
string word;
for (char c : line) {
if (c == ' ') {
words.push_back(word);
word = "";
} else {
word += c;
}
}
words.push_back(word);
for (string w : words) {
cout << w << endl;
}
return 0;
}
```
这个程序会将输入的一行字符串按空格分割成多个单词,并存储到一个 vector 中。
用c++写一个计算字符串长度的程序
好的,以下是使用 C 语言写一个计算字符串长度的程序的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len;
printf("请输入一个字符串:\n");
scanf("%s", str);
len = strlen(str);
printf("该字符串的长度是:%d\n", len);
return 0;
}
```
请问还有什么问题吗?