當前位置:首頁 » 編程語言 » c語言統計字元出現次數

c語言統計字元出現次數

發布時間: 2023-05-18 22:06:34

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("<格式化字元串>",<參量表>)。

其中格式化字元串用於指定輸出格式。格式控制串可由格式字元串和非格式字元串兩種組成。

❷ c語言,輸入一個字元串,計算某字元出現次數

可以吵腔參考下面的代碼拍悄:

#include <stdio.h>

#include <string.h>

voidmain()

{charc,s[80];inti,k=0;

gets(s);/*輸入字元串*/

printf("Pleaseinputacharacter:");c=getchar();

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

{if(s[i]==c)

k++;

}

printf("%cisfound%dtimes",c,k);

}

C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

(2)c語言統計字元出現次數擴展閱讀:

C語言參考函數

C語言labs()函數:求升賀衫整數的絕對值(針對long類型)

C語言isgraph()函數:判斷一個字元是否是圖形字元

C語言isdigit()函數:判斷一個字元是否為數字

C語言iscntrl()函數:判斷一個字元是否為控制字元

C語言isalpha()函數:判斷一個字元是否是字母

C語言isalnum()函數:判斷一個字元是否是字母或者數字

C語言frexp()函數:提取浮點數的尾數和指數部分

❸ C語言:編程統計字元串s在字元串str中出現的次數

以下是 C 語言實現統計字元串 s 在字元串 str 中出現的次數的程序:

```c
#include <stdio.h>
#include <string.h>

// 統計字元串 s 在字元串 str 中出現的次數
int countSubstring(char str[], char s[]) {
int n = strlen(str); // 獲取字元串 str 的長度
int m = strlen(s); // 獲取字元串 s 的長度
int count = 0; // 計數器,初始化為 0

for (int i = 0; i <= n - m; i++) {
// 檢查字元串 str 中以 i 開頭、長度為 m 的子串是否等於 s
if (strncmp(str + i, s, m) == 0) {
count++; // 如果相等,則計數器加 1
}
}

return count;
}

int main() {
char str[100], s[100];
printf("請輸入兩個字元串:");
scanf("%s%s", str, s);

int count = countSubstring(str, s);
printf("%s 在 %s 中出現的次數是:%d\n", s, str, count);

return 0;
}
```

在上述代碼中,我們首先定義了一個 `countSubstring()` 函數,該函數接受兩個字元串作為參數,並返回字元串 `s` 在字元鉛喚串 `str` 中出現的次數。在函數內部,我們使用一個循環依次檢查 `str` 中每個長度為 `m` 的子串是否等於 `s`,如果相等,則計數器加 1。需要注意的是,在比較子串是否相等時,我肢激毀們歷備使用了 `strncmp()` 函數,它可以指定要比較的字元數,避免了因為字元串長度不同而導致的錯誤。

在 `main()` 函數中,我們首先使用 `scanf()` 函數獲取用戶輸入的兩個字元串,並將其保存到字元數組 `str` 和 `s` 中。然後,我們調用 `countSubstring()` 函數,並傳入兩個字元串作為參數,以獲取字元串 `s` 在字元串 `str` 中出現的次數。最後,我們輸出結果到控制台中。

需要注意的是,在實際應用中,可能需要對用戶輸入進行驗證和處理,以確保程序的健壯性和安全性。另外,也可以使用其他方法(如標准庫函數)來實現統計字元串出現次數的演算法

❹ 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語言,輸入一個字元串,統計重復出現某個字母的次數。

main(){ char c[64]; //我們要用的字元串char l; //要查找的字元int i,sum=0; //sum為出現次數printf("請輸入字元串:\n"); scanf("%s",c); //讀入字元串 printf("\n請輸入要查找的字母:/n"); scanf("%c",&l); //敗旁讀入要查找的字元 for(i=0;i<64;i++) { if (c[i]=='\0') break; /慎枯閉/查看字元串是否已經結尾 if (c[i]==l) sum=sum+1; //查看該字元是否為所要查找的字元 } printf("\n字元%c在字寬裂符串中出現%d次。",l,sum); //輸出結果}

❻ c語言統計字元串中每個字元出現的次數

scanf語句遇到空格、退格符、回車余隱就結束讀取,因此如果字元串中有空格,不能用scanf,可以用gets。另外,這個程序虧畢寫得實在太亂了。太多大括弧,基本上都不需要,一對大括弧就可以了。else if的用法也不是這樣用的。printf語句也沒必要分這么多句。main為int型,要有返回值。修改一下:

#include<stdio.h>
#include<string.h>
intmain()
{
intl=0,s=0,n=0,o=0;
chara[1000]={''};
gets(a);
for(inti=0;a[i]!='';i++)
if(a[i]<='z'&&a[i]>='a'||a[i]<='Z'&&a[i]>='A')
l++;
elseif(a[i]=='')s++;
elseif(a[i]<='9'&&a[i]>='0')n++;
elseo++;
printf("字母:%d 數字:%d 空格:%d 其它:%d"豎空廳,l,n,s,o);
return0;
}

//運行示例:

❼ C語言編程:輸入一串字母,統計每個字母出現的次數

C語言程序如下:

#include<stdio.h>

int main()

{

char a[100];

char b[24];

int s[100] = { 0 };//用於存儲字元的個數

gets(a);//輸入字元

//開始比較

for (int x = 0; x < 24; x++)

{

int c = 0;//記錄每個字元個數

b[x] = x + 97;//為了讓b[0]是a,b[1]是b依次類推

for (int i = 0; i < 100; i++)

{

if (b[x] == a[i])

{

++c;

s[x] = c;

}

}

if (s[x]>=1)//只輸出輸入中有的字母 的個數

{

printf("%c %d ", b[x], s[x]);

}

}

getchar();

return 0;

}

(7)c語言統計字元出現次數擴展閱讀:

程序思路:
分為三部分 首先輸入字元串 ,其次設定一個字元數組英文小寫字母24, 同時設一個int數組 記錄個數, 以及一個int c 為了給int數組賦值。最後在輸入的時候進行判斷,如果字母的值 大於等於1才輸出。

❽ 用C語言編寫一個程序,輸入一個字元串,統計其中各個字元出現的次數

//輸擾灶入一行字元,分別統計出其中字母、空格、數字和其拿凳他字元的個數。
#include<stdio.h>
intmain(void)
{
charch;
inta=0,b=0,c=0,d=0;
while((ch=getchar())!=' '消李旅)
{
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
a++;
elseif(ch>='0'&&ch<='9')
b++;
elseif(ch=='')
c++;
else
d++;
}
printf("字母=%d 數字=%d 空格=%d 其他字元=%d ",a,b,c,d);
return0;
}

❾ 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())!='\n')
{
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\n空格的個數:>%d\
\n數字的個數:>%d\n其他字元的個數:>%d\n",\
letters,space,digit,other);
system("pause");
return 0;
}

熱點內容
怎麼把伺服器變成普通電腦 發布:2025-07-15 14:39:45 瀏覽:957
甘肅天水首選伺服器地址雲主機 發布:2025-07-15 14:34:32 瀏覽:715
我的世界java版好玩的外國伺服器網址 發布:2025-07-15 14:20:17 瀏覽:110
電腦的外存儲器 發布:2025-07-15 14:19:42 瀏覽:526
淘淘源碼 發布:2025-07-15 14:12:07 瀏覽:881
自己的主機可以搭建伺服器嗎 發布:2025-07-15 14:09:58 瀏覽:775
atilinux 發布:2025-07-15 14:01:42 瀏覽:822
硬碟緩存越大越好 發布:2025-07-15 13:53:22 瀏覽:387
蘋果六怎麼設置密碼鎖 發布:2025-07-15 13:43:28 瀏覽:33
世界上最強的電腦伺服器 發布:2025-07-15 13:41:13 瀏覽:401