1. c语言 从键盘读入一个字符串,统计其中的数字出现的个数
可以定义一个字符数组用来保存字符串
然后通过一次扫描来判断数组中每个变量是否为'0'-'9'(包括'0'和'9')
如果是则进行统计
当然也可以使用isdigit来判断是否有数字
下面是一个简单的代码
#include<stdio.h>
intmain(intargc,char**argv)
{
charbuf[20];
inti;
intcount=0;
printf("请输入一个字符串:");
scanf("%s",buf);
for(i=0;buf[i];++i)
{
if(isdigit(buf[i]))
++count;
}
printf("字符串:%s中有%d个数字! ",buf,count);
return0;
}
2. 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;
}
(2)c语言统计出现个数扩展阅读:
①printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
②printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
3. 用c语言统计数字出现的次数
b[a[i]]++; a[i] 是数组元素,数值在0-9范围内,所以b[a[i]] 总在 b[0]到b[9]之间。
b[] 已初始化为 0。
b[a[i]]++; 是 b[a[i]]=b[a[i]]+1; 它是累加器。
可以看成: x=a[i]; b[x]=b[x]+1; 第一次 b[x]++变1,第二次 b[x]++变2, 第三次 b[x]++变3。 例如 i=1,7,9 时 x=5,b[5] 累加3次变3。 这样就统计出5出现的次数了。
4. C语言如何统计特定字符串出现次数
#include<stdio.h>
intmain(){
charcmp[3]="aba";
chara[256];
scanf("%s",a);
inti;
intcount=0;
for(i=0;a[i]!='