输入一句英文句子不包括标点符号,输出单词个数,用c语言写
时间: 2023-05-30 13:04:24 浏览: 94
```c
#include <stdio.h>
#include <string.h>
int main() {
char sentence[100]; // 定义字符数组
int count = 0; // 统计单词个数的变量
printf("请输入一句英文句子:\n");
scanf("%[^\n]", sentence); // 读取输入的一行字符串,不包括换行符
for (int i = 0; i < strlen(sentence); i++) { // 循环遍历字符串中的每个字符
if (sentence[i] == ' ') { // 如果当前字符是空格
count++; // 单词个数加1
}
}
printf("单词个数为:%d\n", count + 1); // 最后一个单词后面没有空格,所以单词个数要加1
return 0;
}
```
相关问题
输入一句英文句子不包括标点符号,但句子前可能包含空格,可能不大写,输出单词个数,用c语言写
#include <stdio.h>
#include <ctype.h>
int main() {
char sentence[1000]; // 假设句子最长为1000个字符
int count = 0; // 计数器初始化为0
printf("请输入句子:");
gets(sentence); // 输入句子,包括空格
// 判断句子开头是否是空格,是则去掉
if (isspace(sentence[0])) {
for (int i = 0; sentence[i]; i++) {
sentence[i] = sentence[i + 1];
}
}
// 统计单词数
for (int i = 0; sentence[i]; i++) {
if (isspace(sentence[i])) {
count++;
}
}
count++; // 最后一个单词后没有空格,需要加1
printf("单词个数为:%d\n", count);
return 0;
}
输入一句英文句子不包括标点符号,但句子前可能包含若干个空格,可能不大单词个数,用c语言写
char sentence[100];
scanf("%[^\n]s", sentence); //读入一行字符串
int len = strlen(sentence);
int start = 0, end = len-1;
while (sentence[start] == ' ') start++; //去除前面的空格
while (sentence[end] == ' ') end--; //去除后面的空格
for (int i = start; i <= end; i++) {
printf("%c", sentence[i]); //输出不包含空格的句子
}