當前位置:首頁 » 編程語言 » 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;
}