感叹号,逗号,句号,连接符,问号,双引号一共六个标点
符号。
标点符号不算单词,连接符连接的单词算多个,例如:hello_ni_hao.
这个算作三个单词。
例如:123q##qqq**345,这个也算三个单词。
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int My_words(char *inputstr, int lenght)
{
char word[64][256];
int i;
int j = 0;
int n = 0;
int flag = 0;
for(i=0; i<=lenght; ++i)
{
if(isalpha(inputstr[i])||isdigit(inputstr[i]))
{
flag = 0;
word[n][j] = inputstr[i];
++j;
}
else
{
flag++;
}
if(flag == 1)
{
word[n][j] = '\0';
if(1 == j)
{
n--;
}
n++;
j = 0;
}
}
return n;
}
int main(void)
{
char inputstr[256];
int length;
int num = 0;
printf("请您输入一行字符串:\n");
gets(inputstr);
length = strlen(inputstr);
if(length <= 0)
{
return 0;
}
num = My_words(inputstr, length);
printf("%d\n", num);
getchar();
return 0;
}
本文介绍了一个使用C语言实现的简单程序,该程序能够从用户输入的一行字符串中统计出单词的数量。通过遍历字符串并利用isalpha和isdigit函数判断字符属性来区分单词与非单词字符,最终返回单词总数。

1万+

被折叠的 条评论
为什么被折叠?



