您好,登錄后才能下訂單哦!
在C語言中,我們可以使用各種方法來統計字符串中的字符數量和對字符進行排序
#include<stdio.h>
#include<string.h>
#include <ctype.h>
void count_chars(const char *str) {
int count[256] = {0}; // 初始化一個大小為256的整型數組,用于存儲每個字符的計數
for (int i = 0; str[i]; i++) {
count[(unsigned char)str[i]]++; // 逐個字符遞增計數器
}
printf("字符統計:\n");
for (int i = 0; i < 256; i++) {
if (count[i] > 0) {
printf("%c: %d\n", i, count[i]);
}
}
}
void sort_chars(char *str) {
int length = strlen(str);
int count[256] = {0};
for (int i = 0; i< length; i++) {
count[(unsigned char)str[i]]++;
}
int index = 0;
for (int i = 0; i < 256; i++) {
while (count[i] > 0) {
str[index++] = i;
count[i]--;
}
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串: %s\n", str);
count_chars(str);
sort_chars(str);
printf("排序后的字符串: %s\n", str);
return 0;
}
這個程序首先定義了兩個函數:count_chars
和 sort_chars
。count_chars
函數接收一個字符串參數,并統計其中每個字符的出現次數。sort_chars
函數接收一個字符串參數,并按照字符的ASCII值對字符串進行排序。
在 main
函數中,我們創建了一個字符串 “Hello, World!”,然后分別調用這兩個函數來統計字符數量和對字符串進行排序。注意,這里我們使用了 unsigned char
類型來確保字符的正確處理,因為字符可能是負數(例如,擴展ASCII字符)。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。