用c语言实现,输入一个字符串,计算最后一个单词的长度
时间: 2023-03-27 18:02:46 浏览: 85
您好,我可以回答您的问题。以下是用 C 语言实现输入一个字符串,计算最后一个单词的长度的代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
i = len - 1;
while (i >= && str[i] == ' ') {
i--;
}
len = ;
while (i >= && str[i] != ' ') {
len++;
i--;
}
printf("最后一个单词的长度为:%d\n", len);
return ;
}
```
希望能够帮到您。
相关问题
c语言输入一个字符串,统计单词的个数
以下是一个简单的 C 语言程序,用于输入一个字符串并统计单词的数量:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int wordCount = 0, i;
printf("请输入一个字符串:");
gets(str);
for (i = 0; i < strlen(str); i++)
{
if (str[i] == ' ' || str[i] == '\t' || str[i] == '\n')
{
wordCount++;
}
}
printf("输入的字符串中有 %d 个单词\n", wordCount + 1);
return 0;
}
```
程序首先定义了一个字符串变量 `str`,用于存储输入的字符串。接下来定义了一个整型变量 `wordCount`,用于统计单词的数量,初始值为 0。
程序使用 `gets()` 函数从用户输入中读取字符串,并使用 `strlen()` 函数获取字符串的长度。
然后,程序使用一个 `for` 循环遍历整个字符串。如果当前字符是空格、制表符或换行符,单词数量就加 1。
最后,程序输出单词的数量。
需要注意的是,程序中的方法只适用于单词之间使用空格、制表符或换行符进行分隔的情况。如果单词之间使用其他字符进行分隔,就需要进行相应的修改。
用C语言while循环解决,输入一个字符串,统计单词数和字符数
好的,我可以为您提供一个用C语言while循环解决的代码示例,如下所示:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i = 0, words = 0, chars = 0;
printf("请输入一个字符串:\n");
fgets(str, 100, stdin);
while (str[i] != '\0') {
if (isalpha(str[i])) {
chars++;
if (!isalpha(str[i+1]))
words++;
}
i++;
}
printf("字符串中含有 %d 个单词和 %d 个字符。\n", words, chars);
return 0;
}
```
上面的代码中,我们首先定义了一个字符数组 `str`,用于存储用户输入的字符串,同时还定义了三个变量 `i`、`words` 和 `chars`,其中 `i` 用于循环遍历字符串,`words` 用于记录单词数,`chars` 用于记录字符数。然后,我们通过调用 `fgets` 函数从标准输入流中读取用户输入的字符串,并将其存储到字符数组 `str` 中。
接下来,我们使用 while 循环遍历整个字符串,判断每个字符是否为字母,如果是,则将 `chars` 加 1,同时判断下一个字符是否为字母,如果不是,则将 `words` 加 1。最后,输出统计结果即可。
需要注意的是,此处使用了 ctype.h 头文件中的 isalpha 函数来判断字符是否为字母。同时,我们使用了 fgets 函数来读取用户输入的字符串,因为它可以在读取完指定长度的字符或读取到换行符时停止,从而避免了缓冲区溢出等问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)