Làm theo thuật toán để viết một chương trình C cho phép đếm tần số của từng ký tự.
Thuật toán
Step 1: Define MAX size. Step 2: Declare char and integer variables. Step 3: Read the string from console. Step 4: Find length of the string. Step 5: Initialize frequency of each character to 0. Step 6: Find total number of occurrences of each character. for(i=0; i<length; i++) i. if(string[i]>='a' && string[i]<='z') frequency[string[i] - 97]++; ii. else if(string[i]>='A' && string[i]<='Z') frequency[string[i] - 65]++; Step 7: Print the frequency of all characters in the string. if(frequency[i] != 0) printf("'%c' = %d\n", (i + 97), frequency[i]);
Ví dụ
Dưới đây là chương trình C để đếm tần số của mỗi ký tự trong một chuỗi -
#include <stdio.h> #include <string.h> #define MAX 100 // Maximum string size int main(){ char string[MAX]; int i, length; int frequency[20]; /* Input string from user */ printf("enter the string:\n "); gets(string); length = strlen(string); /* Initialize frequency of each character to 0 */ for(i=0; i<20; i++){ frequency[i] = 0; } /* Find total number of occurrences of each character */ for(i=0; i<length; i++){ /* If the current character is lowercase alphabet */ if(string[i]>='a' && string[i]<='z'){ frequency[string[i] - 97]++; } else if(string[i]>='A' && string[i]<='Z'){ frequency[string[i] - 65]++; } } /* Print the frequency of all characters in the string */ printf("\nFrequency of all characters in string: \n"); for(i=0; i<20; i++){ /* If current character exists in given string */ if(frequency[i] != 0){ printf("'%c' = %d\n", (i + 97), frequency[i]); } } return 0; }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
enter the string: Tutorials Point Frequency of all characters in string: 'a' = 1 'i' = 2 'l' = 1 'n' = 1 'o' = 2 'p' = 1 'r' = 1 's' = 1 't' = 3