请使用c语言编写一个程序,这个程序可以统计一句英文句子中每个单词的字符长度,并输出
时间: 2023-08-31 18:20:57 浏览: 364
### 回答1:
我可以为您提供一个简单的C语言程序,用于统计一句英文句子中每个单词的字符长度: #include <stdio.h>
#include <string.h> int main()
{
char str[100];
int count[50], len;
printf("请输入一句英文:");
gets(str);
len = strlen(str);
int j = 0;
count[j] = 0;
for (int i=0; i<=len; i++)
{
if (str[i] == ' ' || str[i] == '\0')
{
printf("单词 %d 的字符长度为:%d\n", j+1, count[j]);
j++;
count[j] = 0;
}
else
count[j]++;
}
return 0;
}
### 回答2:
以下是使用C语言编写的统计英文句子中每个单词字符长度的程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char sentence[100];
int wordCount = 0;
int wordLength = 0;
printf("请输入一句英文句子:");
fgets(sentence, sizeof(sentence), stdin);
for (int i = 0; i <= strlen(sentence); i++) {
if (sentence[i] == ' ' || sentence[i] == '\0') {
if (wordLength > 0) {
printf("第 %d 个单词长度为 %d\n", wordCount, wordLength);
wordCount++;
wordLength = 0;
}
} else {
wordLength++;
}
}
return 0;
}
```
该程序可以接收用户输入的英文句子,并统计每个单词的字符长度,并输出结果。程序使用fgets函数接收用户输入的句子,存储在字符数组`sentence`中,同时使用`sizeof(sentence)`来限制输入长度不超过数组容量。接下来,程序通过遍历句子中的每个字符,检查每个字符是否为空格或者是句子的结束符号。如果是空格或结束符号,则判断`wordLength`是否大于零,如果是则表示当前已经统计完一个完整的单词,输出该单词的字符长度,并将`wordCount`计数加一;同时将`wordLength`重新置零,以统计下一个单词的字符长度。如果当前字符不是空格或结束符号,则将`wordLength`加一,表示统计当前单词的字符长度。
注意,句子输入结束后会多输出一行统计结果,表示最后一个单词的字符长度。
### 回答3:
以下是用C语言编写的程序,可以统计一句英文句子中每个单词的字符长度并输出:
```c
#include <stdio.h>
#include <string.h>
int main() {
char sentence[100];
int wordLength[20];
int wordCount = 0;
printf("请输入一句英文句子:");
fgets(sentence, sizeof(sentence), stdin);
char *token = strtok(sentence, " "); // 使用空格作为分隔符,将句子切分为单词
while (token != NULL) {
wordLength[wordCount] = strlen(token);
wordCount++;
token = strtok(NULL, " ");
}
printf("每个单词的字符长度为:\n");
for (int i = 0; i < wordCount; i++) {
printf("单词%d: %d\n", i + 1, wordLength[i]);
}
return 0;
}
```
程序的工作原理如下:
1. 首先,我们定义了一个包含100个字符的字符数组`sentence`,用来存储用户输入的句子。
2. 接下来,我们定义了一个包含20个整数的数组`wordLength`,用来存储每个单词的字符长度。
3. 使用`printf`函数提示用户输入一句英文句子,并使用`fgets`函数接收用户输入。
4. 我们使用`strtok`函数将句子按照空格字符进行分割,并将分割得到的每个单词存储到数组`wordLength`中。
5. 具体而言,我们使用`strtok`函数首先将`sentence`中的第一个单词提取出来,并将其存储在指针`token`中。
6. 进入一个循环,判断指针`token`是否为空,如果非空,则将当前单词的字符长度存储在`wordLength`数组的对应位置,同时计数器`wordCount`累加1。
7. 使用`strtok`函数再次调用,继续寻找下一个单词,直到句子中的所有单词都被统计完毕。
8. 最后,使用`printf`函数将每个单词的字符长度逐个输出到屏幕上。
请注意,上述程序假设句子中的单词数量不超过20个,并且每个单词的字符数量不超过100。如有需要,可以根据实际输入进行适当的修改。
阅读全文