当前位置:首页 » 编程语言 » c语言统计单词的个数

c语言统计单词的个数

发布时间: 2022-04-08 06:01:05

c语言题目: 输入一行字符,统计其中有多少个单词

#include<stdio.h>

#include<string.h>

void main()

{

int i,n,sum=0;

char a[100];//根据字串的长度适当调整

printf("请输入一组字符:");

gets(a);

n=strlen(a);

for(i=0;i<=n-2;i++)

{

if((65<=a[i]&&a[i]<=90)||(97<=a[i]&&a[i]<=122))

sum++;

}

printf("字符的个数为:%d ",sum);

}

表达:

字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如,UnicodeUTF-16编码将字符表示为16位整数序列,而 UnicodeUTF-8编码则将相同的字符表示为 8 位字节序列,微软的公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符。

在UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。在UTF-32编码中,世界上任何字符的存储都需要4个字节。

以上内容参考:网络-字符

② c语言 统计单词的个数,求解题思路

单词是以空格隔开的,你用一指针从左到右扫描各个字符,统计空格数目,减一就是单词数目

③ C语言统计单词个数

Q:输入一串字符串,输出其中有多少个单词。
Eg:Good Wishes
A:

#include <stdio.h>#include <string.h>#define SIZE 20int main()
{ char str[SIZE]={''}; int count=0;
printf("plz input the string ");
gets(str);
puts(str); int length = strlen(str); for (int i=0;i<length;i++)
{
if(str[i]!=' ')
{ count++; while(str[i]!=' '&&str[i]!='')
{
i++;
}
}
}
printf("%d ",count); return 0;
}

‘’和‘0’的区别:
在c语言中,它们都是字符,都用对应的ASCII码来存储。例如第一个ASCII码,0,对应字符为(Null),就是 ‘’,即空字符。我们在c语言中判断一个字符串是否结束的标志就是看是否遇到‘’,如果遇到‘’,则表示字符串结束。字符‘0’和数字0的区别:前者是字符常量,后者是整形常量,但是字符常量可以像整数一样在程序中参与相关运算。

(3)c语言统计单词的个数扩展阅读

字符串所有字符,如果当前字符不为空,单词数+1,再嵌套一个while循环,判断当前单词是否结束。

#include <stdio.h>

#include <string.h>

int count_words(char* s)

{
int len=strlen(s);

int count,i;

for(i=0;i<len;i++)

{

if(*(s+i)!=' '){ // 如果当前代码不为空

count++; //单词数+1

while(*(s+i)!=' '&& i<len) //判断当前单词是否结束

i++;

}

}

return count;

}

int main()

{

char* a="i love you";

printf("%d",count_words(a));

}

④ C语言统计英语单词的个数

C语言:统计输入的一行英文句子中的字母及单词个数,带注解!

//通过键盘输入一行英文句子,统计其中的英文字母和单词的数量,单词之间用空格分开(标点符号不算单词);
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
char string[100];//根据拟从键盘输入的字串的长度需要适当调整,要避免输入的长度超出设定的范围。
char c;
int i, num=0,sum=0,word=0; //定义 word 用来指示一个单词是不是结束或新单词是否开始;
printf("请从键盘输入一行需要查询的英文句子,进行单词数量统计: ");
gets(string); //从键盘获得输入的字符串;
//以下统计句子中的英文字符个数;
for(i=0;(c=string[i])!='';i++) //for循环语句,遍历句子中的每个字符;初始化i=0;若字符c!='',即未到达结束符''的话,执行i++;
{
if(('A'<=string[i]&&string[i]<='Z')||('a'<=string[i]&&string[i]<='z'))
sum++; //以上为条件句,如果字符在A~Z,a~z 范围之内的话,则执行sum++,累加英文字母个数;
}
//以下统计句子中的英文单词个数;
for(i=0;(c=string[i])!='';i++) //for循环语句,遍历句子中的每个字符;初始化i=0;若字符c!='',即未到达结束符''的话,执行i++;
{ //''用作字符串的结束符。它的ASCII数值是0。
if(c<'A'||c>'Z'&&c<'a'||c>'z') //设定条件:如果字符 c 遇到A~Z和a~z范围之外其它符号字符的话,包括遇到空格' ';
word=0; //上面条件为真时,执行这里,置word=0,表示未遇到单词,或,一个单词已结束,同时也意味着要开始遇到下一个新单词;
else if(word==0) //当条件(word==0)为真,执行下面花括号里面的语句;当word==0时,表示未遇到字母,即未遇到单词,或上一个单词已结束;
{
word=1; //那么置word=1,即,表示下一个新单词开始,
num++; //执行num++,累加英文单词的个数;
}
}
printf(" ");
printf("您输入的这句英文句子中共包含%d个英文字符,%d个英文单词。 ",sum,num);

}

示例:输入语句: Hello ! My friend , how are you ? (注意单词的前后有空格)

⑤ C语言统计单词个数,单词个数算法

当字符从' '变为字母时或其他字符时word从0变为1,而word从0变为1时就是一个单词,所以count+1;当字符由非' '变为' '时word从1变为0,准备判断下一个单词的出现,即等待字符由' '变为其他字符的出现。这样最后count就是记录了单词的个数,其实就是记录了字符由' '变为其他字符的次数!

⑥ C语言 统计单词个数

#include "stdio.h" main() { char s[81],c; int i,num=0,word=0; printf("请输入一行英文:\n"); gets(s); for(i=0;(c=s[i])!='\0';i++)//判断句子是否到未 if(c==' ') word=0;//是空格就为0 else if(word==0)//不是空格就判断之前有没有空格 { word=1;//复位用来判断空格是否存在的开关 num++;//如果之前有空格,单词数加1 } printf("本行中共有%d个单词.\n",num); } 其原理很简单: 对每个字符进行判断,如果是空格就把变量word标记为0,如果不是空格就判断word是不是0(即判断之前有没有空格),如果存在空格单词量加1,然后复位word变量为0。就这样重复,知道句子结束

⑦ C语言 计算单词个数!

charc;
intcount,word;
intrepeat,ri;

scanf("%d",&repeat);
getchar();
for(ri=1;ri<=repeat;ri++){
c=getchar();
count=0;
word=0;
while(c!=' ')
{
if(c=='')
{
if(word==1)
{
count++;
}
word=0;
}
else
{
word=1;
}
c=getchar();
}
if(word==1)
{
count++;
}

printf("count=%d ",count);
}


代码见上

⑧ c语言中统计单词个数的问题

相当于空格,可以看一下这个程序(用于统计单词个数)
#include<stdio.h>
void
main()
{
char
string[100];
int
i,num=0,word=0;
char
c;
printf("请输入一个英文句子:");
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c=='
')
word=0;
else
if(word==0)
{
word=1;
num++;
}
printf("
该英文句子由%d个单词组成。
.\n",num);
}
有时为了给变量附一个无意义的初值通常用这个。呵呵

⑨ C语言问题 统计单词个数

#include<stdio.h>
#include<string.h>
int
main()
{

char
string[1000];
int
number=1;
printf("从键盘输入一行字符,以空格分割单词,直到按回车键结束,统计其中的单词个数\n");
gets(string);
int
i=1;

while(string[i]!='\0')
{
if(string[i]=='
')
number++;
i++;
}
printf("单词个数为:%d\n",number);
return
0;
}

⑩ C语言统计单词个数问题!

根据英语的书写习惯,在每个单词前后都会有空格分隔。 所以可以依据空格来划分单词。

不过,由于空格可能存在连续多个,所以仅统计空格数是不可以的,需要更复杂一些的算法。

一、算法设计:

核心思想是通过一个flag,来确定单词的起始, 每出现一个单词的起始,则表示存在一个单词。 这样统计出现的单词起始个数,即可获得单词总数。

1、flag初始为1;

2、遍历字符串。

3、对于每个字符,如果出现非空格字符,且flag为1,则为单词起始,累加计数器。同时赋值flag为0。

4、在flag为0情况下,如果出现空格,表示上一个单词已经结束,设置flag为1。

5、 遍历结束后输出结果。


二、参考代码:

#include<stdio.h>
intfunc(char*s)//计算单词数函数
{
inti,n=0,flag=1;
for(i=0;s[i];i++)//遍历
{
if(flag==1)
{
if(s[i]!='')//单词起始
{
n++;
flag=0;
}
}
elseif(s[i]=='')//上一个单词结束。
flag=1;
}
returnn;//返回结果。
}
intmain()
{
chars[200];

gets(s);//输入字符串。

printf("%d ",func(s));//调用函数,计算并输出结果。
return0;
}
热点内容
电脑都连不上服务器说ip不对 发布:2025-01-19 12:52:24 浏览:625
linux解压到文件夹命令 发布:2025-01-19 12:43:20 浏览:425
父母访问 发布:2025-01-19 12:33:05 浏览:794
加密文件如何编辑 发布:2025-01-19 12:31:18 浏览:219
androiddpi 发布:2025-01-19 12:21:15 浏览:655
服务器锁了怎么解 发布:2025-01-19 12:06:58 浏览:301
DH算法使用 发布:2025-01-19 11:57:30 浏览:932
Wcl上传如何选择服务器 发布:2025-01-19 11:17:24 浏览:763
如何编程简单给服务器发一个指令 发布:2025-01-19 11:16:44 浏览:806
python控制台乱码 发布:2025-01-19 10:55:38 浏览:364