字符串计数c语言
A. c语言统计字符串中每个字符出现的次数
#include<stdio.h>
#include<stdlib.h>
int findsub(char*src,char*s)
{
char*ptr=src,*p=s;//定义两个指针
char*ptr2=src+strlen(src),*prev=NULL;//ptr2为src的末位置指针
int len=strlen(s),n=0;//子串的长度和计数器
for(;*ptr;ptr++)//循环整个串
{
if(ptr2-ptr<len)//如果一开始子串就大于src,则退出
break;
for(prev=ptr;*prev==*p;prev++,p++)//寻找第一个相等的位置,然后从此位置开始匹配子串
{
if(*(p+1)==0||*(p+1)==10)//如果已经到了子串的末尾
{
n++;//自增
p=s;//重新指向子串
break;//退出
}
}
}
return n;
}
int main(void)
{
char a[81],b[81];//定义两个字符数组
printf("输入原字符串:");
fgets(a,81,stdin);//输入
printf("输入子字符串:");
fgets(b,81,stdin);
printf("找到:%d ",findsub(a,b));
system("pause");
return 0;
}
(1)字符串计数c语言扩展阅读:
①printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
②printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
B. c语言中统计字符串中各个字符的个数
原发布者:zlaikai1314
#include#include#include#includeusingnamespacestd;chara[100];//字符数组intb[100];//字符个数doublep_a[100];//字符概率数组intsum=0;//字符总数//判断当前字符temp是否已出现过boolsearch(chartemp,chara[],intm,intn)//m为数组a的元素总个数,即100;n为当前数组a中存放的字符种类的个数{inti=0;while(i<n){if(a[i]==temp)returntrue;elsei++;}returnfalse;}//求各个字符的个数,放在数组b中voidread_file(stringfile_name="test_data.txt"){intk=0;ifstreamfile(file_name.c_str());//将string转化为char数组chartemp;if(file.is_open()==true)//检查文件是否打开{while(file.peek()!=EOF)//从文件中读取一个字符,但该字符并未从输入流中删除{file.get(temp);//从文件读入一个字符并把它存储在tempsum++;//统计出现的字符总数if(search(temp,a,100,k)){for(inti=0;i<k;i++){if(temp==a[i]){b[i]++;break;}}}else
C. c语言如何统计字符个数
在C语言中,要统计一个字符串的字符个数,可以采用char类型的字符数组,再进行逐个字节的扫描,如果它的ASCII值大于零,这个字节算一个字符;如果它的ASCII值小于零的,就连同后续的一个字节算一个字符。遇到ASCII值等于零,就停止统计输出统计的结果。
D. 编写C语言程序统计输入字符串的个数、
很简单了,代码如下:
#include
void
main()
{
char
a[100];
int
i,count=0,flag=1,n=0;
gets(a);//从键盘输入字符串
for(i=0;a[i];i++)
{
if((a[i]>='a'
&&
a[i]<='z')
||
(a[i]>='a'
&&
a[i]<='z'))//判断是不是字符
{
flag=0;//设置字符标志
continue;//返回下一个循环
}
if(!flag)//前面一位是字符,即当前是某个单词字符结束
{
count++;//统计单词个数
flag=1;//设置非字符标志
}
}
i--;
if((a[i]>='a'
&&
a[i]<='z')
||
(a[i]>='a'
&&
a[i]<='z'))
count++;//增加字符串结束的单词
printf("共有%d单词\n",count);
}
E. c语言输入一行字符串,如何统计其中的字母和数字的个数
要统计英文字母,空格,数字和其他字符的个数,代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char c;
int letters=0;
int space=0;
int digit=0;
int other=0;
printf("请输入一行字符:>");
while((c=getchar())!=' ')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
letters++;
}
else if(''==c)
{
space++;
}
else if(c>='0'&&c<='9')
{
digit++;
}
else
{
other++;
}
}
printf("字母的个数:>%d 空格的个数:>%d
数字的个数:>%d 其他字符的个数:>%d ",
letters,space,digit,other);
system("pause");
return 0;
}
(5)字符串计数c语言扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。
F. c语言怎么统计字符串中字符个数
使用系统标准库函数strlen(s)就可以测得字符数组s中的字符串的字符个数,也就是字符串的长度,需要包含string.h头文件。
G. C语言 字符计数
EOF是判断读取文件是否是结尾,但是你现在这个不是读取文件,所以,这个应该是个死循环,最好是换成getchar!='\n';一般输入完成后是回车所以判断它是不是输入回车了,输入回车了,那么就是输入结束了,然后nc就是你输入的内容的字符个数while就是个循环,
H. c语言怎么计算字符串的字符个数
一般有三种办法可以计算英文字符的个数:
1)使用strlen()函数
2)从首字符开始,边扫描边计数,到'\0'为止('\0'不计数)
3)从首字符开始,扫描到'\0'为止,'\0'地址与字符串首地址的差。
I. C语言字符串计数
#include<stdio.h>
intmain(void)
{
charaChar;
intspaces=0,upper=0,lower=0,other=0;
do{
scanf("%c",&aChar);//读取字符
if(aChar=='')//判断是否空格
{
++spaces;
continue;
}
if('A'<=aChar&&aChar<='Z')//判断是否大写字母
{
++upper;
continue;
}
if('a'<=aChar&&aChar<='z')//判断是否小写字母
{
++lower;
continue;
}
++other;//以上都不是,则是其他字符
}while(aChar!=' ');
printf("spaces=%d,upper=%d,lower=%d,other=%d ",
spaces,upper,lower,other-1);
return0;
}
因为是用' '来判断一行字符串的,而 也是一个字符,导致最后统计other会多1个,所以要other-1,也可以加一个if语句来判断:
if(aChar!=' ')
++other;
当然,就算把
也统计进去,也是符合题意的。
J. c语言字符串怎么数
你看到的字符数量就是字符串长度(字符+空格+问号)。用函数strlen可获取长度。
占用存储空间是长度+1,因为字符串常量末尾还有一个隐藏的结束符号0。