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

c語言統計字元串出現次數

發布時間: 2025-01-18 16:47:56

❶ 用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;

}

程序運行結果如下:



(1)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語言:編程統計字元串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` 中出現的次數。最後,我們輸出結果到控制台中。

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

熱點內容
入侵php 發布:2025-01-18 19:01:09 瀏覽:801
存儲的下標范圍 發布:2025-01-18 19:00:57 瀏覽:337
文件夾怎麼打開 發布:2025-01-18 18:47:07 瀏覽:296
杉德卡卡號和密碼看哪裡 發布:2025-01-18 18:43:27 瀏覽:712
android返回退出 發布:2025-01-18 18:43:26 瀏覽:601
linux採集視頻 發布:2025-01-18 18:38:38 瀏覽:638
差異度演算法 發布:2025-01-18 18:34:27 瀏覽:698
電腦全套配置有哪些 發布:2025-01-18 18:32:39 瀏覽:145
新項目源碼 發布:2025-01-18 18:14:48 瀏覽:517
腳本設計圖 發布:2025-01-18 18:06:17 瀏覽:601