当前位置:首页 » 编程语言 » c语言如何统计字符串中数字出现的次数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言如何统计字符串中数字出现的次数

发布时间: 2023-06-19 01:03:55

c语言如何统计特定字符串出现次数

#include<stdio.h>
intmain(){
charcmp[3]="aba";
chara[256];
scanf("%s",a);
inti;
intcount=0;
for(i=0;a[i]!='';i++){
if(a[i]==cmp[0]){
intj=1;
intsite=i+1;
intflag=1;
for(j=1;cmp[j]!='';j++,site++){
if(a[site]!=''){
flag=0;
break;
}
if(cmp[j]!=a[site]){
flag=0;
break;
}
}
if(flag==1)count++;
}
}
printlf("%d ",count);
}

Ⅱ (C语言)关于统计一行数字字符中每个数字字符出现的次数。

大部分错误都集在中stat方法中,如下:

voidstat(char*s,int*num){
inti;
charch;
ch=s[i];//你上面只是定义了i,从未赋值,i的值就是一个随机数
while((ch=getchar())!=' '){//你前面的indata就已经读入数据到s中了,这里只应该从s中读取并比较它是不是就可以了,而不应该是getchar
if(ch>='0'&&ch<='9')
num[ch-'0']+=1;
}
}
另外一个很重要的错误,你的num数组在使用前也并未初始化,会导至num中的数字也全部是随机的

修改如下

#include<stdio.h>
#defineM10
#defineN10
voidindata(char*s){
inti;
for(i=0;i<M;i++)
s[i]=getchar();
}
voidstat(char*s,int*num){
inti=0;
charch;
ch=s[i];//取第一个元素
for(;i<N;i++)num[i]=0;//num初始化
i=0;
while(ch!=''){
if(ch>='0'&&ch<='9')
num[ch-'0']++;
ch=s[++i];//取下一元素
}
}
voidoutdata(int*num){
inti;
for(i=0;i<N;i++)
printf("%d:%d ",i,num[i]);
}
main(){
intnum[N];
chars[M];
indata(s);
stat(s,num);
printf("Outputtheresult: ");
outdata(num);
}

//当然stat也可以进一步简化,变为
voidstat(char*s,int*num){
inti=0;
charch;
for(;i<N;i++)num[i]=0;
i=0;
while((ch=s[i++])!=''){
if(ch>='0'&&ch<='9')
num[ch-'0']++;
}
}

Ⅲ 请问c语言当中,如何统计数字各自出现的次数

实现代码:

#include <stdio.h>

int main() {

int num = 0, i = 0;

printf("请输入一个整数:");

scanf("%d", &num);

int array[10] = {};

while(num) {

array[num % 10]++; //让数组下标代表所判断的数字

num /= 10;

}

for (i = 0; i < 10; i++) {

if (array[i] != 0)

printf ("%d有%d个 ", i, array[i]);

return 0;

}

(3)c语言如何统计字符串中数字出现的次数扩展阅读:

printf用法:

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

比如:

inta=1234;

printf("a=%d\n",a);

输出结果为a=1234。

Ⅳ C语言 统计字符出现次数

#include <stdio.h>

int main()

{ int i,n=0;

char c,s[100];

gets(s);

c=getchar();

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

if(c==s[i])n++;

printf("%d",n);

return 0;

}

Ⅳ 用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语言编程 统计输入多个字符串中每个字串出现的次数

/*

请输入字符串:qqwAZXS -=09871<>?!llk

有效长度为:23个字符。

k : 1次。
l : 2次。
q : 2次。
w : 1次。
小写字符l出现的次数最多,共2次。

S : 1次。
X : 1次。
Z : 1次。
大写字符L出现的次数最多,共1次。

1 : 1次。
7 : 1次。
8 : 1次。
9 : 1次。

阿拉伯数字;出现的次数最多,共1次。

其他字符共8个。

Press any key to continue
*/
#include <stdio.h>
#include <string.h>

int main() {
int i,m,len,others = 0;
int LowerQuantity[26] = {0};
int CapQuantity[26] = {0};
int Arab[10] = {0};
char ch,chs[1024];
printf("\n请输入字符串:");
i = 0;
while((i < 1024) && (ch = getchar()) != '\n') {
chs[i] = ch;
i++;
}
chs[i] = '\0';
len = strlen(chs);
printf("\n有效长度为:%d个字符。\n\n",len);
for(i = 0 ; i < len ; i++) {
if((chs[i] >= 'a') && (chs[i] <= 'z')) (LowerQuantity[chs[i] - 'a'])++;
else if((chs[i] >= 'A') && (chs[i] <= 'Z')) (CapQuantity[chs[i] - 'A'])++;
else if((chs[i] >= '0') && (chs[i] <= '9')) (Arab[chs[i] - '0'])++;
else others++;
}
m = LowerQuantity[0];
for(i = 1 ; i < 26 ; i++) {
if(LowerQuantity[i] > 0) printf("%c : %d次。\n",i + 'a',LowerQuantity[i]);
if(LowerQuantity[i] > m) {
m = LowerQuantity[i];
ch = i;
}
}
if(m > 0) printf("小写字符%c出现的次数最多,共%d次。\n\n",ch + 'a',m);
m = CapQuantity[0];
for(i = 1 ; i < 26 ; i++) {
if(CapQuantity[i] > 0) printf("%c : %d次。\n",i + 'A',CapQuantity[i]);
if(CapQuantity[i] > m) {
m = CapQuantity[i];
ch = i;
}
}
if(m > 0) printf("大写字符%c出现的次数最多,共%d次。\n\n",ch + 'A',m);
m = Arab[0];
for(i = 1 ; i < 10 ; i++) {
if(Arab[i] > 0) printf("%c : %d次。\n",i + '0',Arab[i]);
if(Arab[i] > m) {
m = Arab[i];
ch = i;
}
}
if(m > 0) printf("\n阿拉伯数字%c出现的次数最多,共%d次。\n\n",ch + '0',m);
if(others > 0) printf("\n其他字符共%d个。\n\n",others);
return 0;
}