알고리즘에 따라 각 문자의 빈도를 계산할 수 있는 C 프로그램을 작성하십시오.
알고리즘
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]);
예시
다음은 문자열에서 각 문자의 빈도를 계산하는 C 프로그램입니다. -
#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; }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
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