這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 编程语言 » c语言输入一串字符统计子串个数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言输入一串字符统计子串个数

发布时间: 2022-04-27 03:44:17

c语言 从键盘输入一行字符,分别统计其中数字字符,字母字符和其他字符的个数

可以参考下面的代码:

#include <stdio.h>

intmain()

{

inta,b,c,ch;

a=b=c=0;//计数器初始化为0.

while((ch=getchar())!=' ')//循环读取字符,到换行结束。

{

if(ch>='0' && ch<='9')//数字

a++;

else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母

b++;

else//其它

c++;

}

printf("%d%d%d ",a,b,c);//输出结果。

return0;

}

(1)c语言输入一串字符统计子串个数扩展阅读:

printf()函数函数

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:

int printf(const char *format, ...);

函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值,printf()函数的调用格式为:

printf("<格式化字符串>", <参量表>);

while语句的一般表达式为:while(表达式){循环体}。

Ⅱ 编写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);
}

Ⅲ C语言:输入一行字符,统计出其中数字字符的个数

#include <stdio.h>

int main()

{

int i,n=0;

char s[256];

fgets(s,256,stdin);

for(i=0;s[i];i++)

if(s[i]>='0'&&s[i]<='9')

n++;

printf("%d",n);

return 0;

}

Ⅳ c语言 键盘输入一字符串 统计字符串所含字符个数

主要代码:
char
s[1000];
int
i,j=0;
scanf("%s",s);
for(i=0;i<1000;i++)
{
if(s[i]=='*')
//for循环查找字符*的数量
j++;//利用变量j计数
}

Ⅳ 用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数

源程序代码如下:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要

#include<stdio.h>

int main()

{

char c = 0;//定义输入字符变量

int num_count = 0;//数字个数

int bigalp_count = 0;//大写字母个数

int littlealp_count = 0;//小写字母个数

int emp_count = 0;//空格个数

int els_count = 0;//其他字符个数

while((c = getchar()) != ' ')//连续输入字符直到输入回车结束

{

if((c >= '0')&&(c <= '9'))//判断是否是数字

{

num_count ++ ;

}

else if ((c >= 'a') && (c <= 'z'))//判断是否是小写字母

{

littlealp_count++;

}

else if ((c >= 'A') && (c <= 'Z'))//判断是否是大写字母

{

bigalp_count++;

}

else if(c == ' ')//判断是否是空格

{

emp_count ++;

}

else //判断是否其他字符

{

els_count ++;

}

}

//输出个数统计值

printf("数字个数:%d 小写字母个数:%d 大写字母个数:%d ",num_count, littlealp_count, bigalp_count);

printf("空格个数:%d 其他字符个数:%d ", emp_count, els_count);

return 0;

}

程序运行结果如下:



(5)c语言输入一串字符统计子串个数扩展阅读:

其他实现方法:

#include <stdio.h>

#include <ctype.h> //对空白字符的判断,调用了isspace()函数,所以要调用头文件

int main()

{

char str[20]; //这块对输入有所限制了

int num_count=0;

int space_count=0;

int other_count=0;

char *p=str;

gets(str); //接收字符串

while(*p)

{

if(*p>='0'&&*p<='9')

{

num_count++;

}

else if(isspace(*p)) //用isspace函数来判断是不是空白字符

{

space_count++;

}

else

{

other_count++;

}

p++;

}

printf("num_count=%d ",num_count);

printf("space_count=%d ",space_count);

printf("other_count=%d ",other_count);

return 0;

}

Ⅵ c语言,从键盘输入一串字符串,统计字符串中特定字符的个数,并输出个数

程序设计思路如下:

从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较,如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数。

#include"stdio.h"

main()
{charstr[100],ch;/*定义str字符串,定义ch用来存放要统计的字符*/
intcnt=0,i;/*定义cnt用作计数器,初始值为0*/

/*输入字符串*/
printf("请输入字符串:");
gets(str);

/*输入要统计的字符*/
printf("请输入要统计的字符:");
scanf("%c",&ch);

/*对此字符串从头开始逐个与所统计的字符比较,如相同,则让计数器加1,知道字符串整体比较结束为止*/
for(i=0;str[i];i++)
if(str[i]==ch)
cnt++;

/*输出结果*/
printf("%s串中%c字符的个数是:%d个",str,ch,cnt);
}

Ⅶ C语言编写:输入任意一串字符串,统计该字符串中出现的字符a的个数,并输出共统计的个数。

代码如下:

/*编程从键盘输入一个字符串,统计该字符串中从'a'到'z'共26个小写字母各自出现的次数,

将结果存入数组中,并输出*/

#include<stdio.h>

#include<string.h>

#define N 100

main()

{ int i,j=0,c[26]={0};

char str[N];

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

gets(str);

for(i=0;i<strlen(str);i++)/*外循环扫描/遍历字符数组*/

for(j=0;j<26;j++)

if(str[i]=='a'+j)

{ c[j]++;

break;

}

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

printf("%c-%d ",'a'+i,c[i]);/*输出字母a-z及其出现的次数*/

}

(7)c语言输入一串字符统计子串个数扩展阅读

字符串常量与字符数组的区别

1)字符串常量是一个字符数组,但是内容和长度在初始化时就已经固定了,不可更改;可以通过一个指向字符串常量第一个元素的指针来访问该字符串常量;

2)字符数组是一个用于存放字符的数组,字符数组的值是可以更改的。

常用字符串函数:

1、复制字符串

C 语言中使用库函数 strcpy 来进行字符串复制操作:

char *strcpy(char *dst , char const *src);

函数 strcpy 接收两个字符串参数,并将参数 src 字符串复制到 dst 参数。使用 strcpy 函数时需要注意的是,必须保证目标字符数组 dst 的长度足够存放源字符数组 src 的内容。

如果 src 比 dst 长,则 src 剩余部分的字符仍会被复制,而且它们会覆盖 dst 后面的内存空间的值,如果这除内存空间原本就存放有值,则会导致原本的数据丢失,这样会造成很严重的后果。为了解决这个问题, C 语言中提供了一种更为安全的方式来进行字符串复制操作——strncpy 函数:

char *strncpy(char *dst , char const *src , size_t len);

2、连接字符串

C 语言中使用库函数 strcat 来连接两个字符串:

char *strcat(char *dst,char const *src);

函数 strcat 将参数 src 字符串连接到参数 dst 字符串的后面。与 strcpy 函数一个同样的问题是,必须保证 dst 的剩余空间足够存放下 src 整个字符串。C 语言中提供了 strncat 函数来解决这个问题:

char *strncat(char *dst , char const *src , size_t len);

strncat 函数从 src 中最多复制 len 个字符到目标数组 dst 后面,并且,strncat 总是在结果字符串后面添加一个 NUL 字节,而且不会像 strncpy 函数那样对 dst 剩余的空间用 NUL 进行填充。

Ⅷ 在C语言中,怎么编一个程序使得输入一串字符,得出他的个数

因为char
*str你没有给它分配存储字符串的空间。
可以用malloc动态的申请:
char
*str
=
(char*)
malloc(sizeof(char)
*100);
然后再
scanf("%s",
str);就可以了
而char
str[100]这里是申请了包含100个字符的内存空间。

Ⅸ c语言输入一行字符串,如何统计其中的字母和数字的个数

要统计英文字母,空格,数字和其他字符的个数,代码如下:

#include&lt;stdio.h&gt;

#include&lt;stdlib.h&gt;

int main()

{

char c;

int letters=0;

int space=0;

int digit=0;

int other=0;

printf("请输入一行字符:&gt;");

while((c=getchar())!=' ')

{

if((c&gt;='a'&&c&lt;='z')||(c&gt;='A'&&c&lt;='Z'))

{

letters++;

}

else if(''==c)

{

space++;

}

else if(c&gt;='0'&&c&lt;='9')

{

digit++;

}

else

{

other++;

}

}

printf("字母的个数:&gt;%d 空格的个数:&gt;%d

数字的个数:&gt;%d 其他字符的个数:&gt;%d ",

letters,space,digit,other);

system("pause");

return 0;

}

(9)c语言输入一串字符统计子串个数扩展阅读:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include&lt;math.h&gt;//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#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的内容。