Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 과제 내용 : 사용자로부터 입력받은 문자열에서 각각의 알파벳 문자가 나타내는 빈도를 계산하여
- 빈도가 낮은 알파벳부터 높은 알파벳까지 순서대로 빈도 수를 출력하는 프로그램*/
- #include <stdio.h>
- #include <string.h>
- #define max 256 // 문자열 최대 길이
- #define max_alphabet 26 // 알파벳 최대 갯수
- int result[max_alphabet][2]; // {알파벳 문자, 빈도 수}의 쌍으로 이루어진 배열
- char str[max]; // 사용자로부터 입력 받을 문자열을 저장하기 위한 문자형 배열
- int len; // 사용자로부터 입력 받은 문자열의 길이를 저장하기 위한 변수
- int i, j; // 반복문의 제어를 위해 사용되는 변수
- int len = strlen(str); // 입력 받은 문자열의 길이 계산
- // 알파벳, 빈도 수 관련 배열의 값 초기화
- // 빈도 수 계산. isAlpha, UpperToLower 함수 활용.
- // 빈도 수에 따른 버블 정렬 사용
- // 빈도 수가 0인 경우를 제외한 결과 출력
- void find_frequency(char[], int[]);
- int main()
- {
- char str[max];
- int i, count[max_alphabet] = { 0 };
- printf("문자열을 입력하세요\n");
- gets)s(str, max-1);
- find_frequency(string, count);
- printf("문자 : 횟수 \n");
- for (i = 0; i < max_alphabet; i++)
- printf("%c \t %d\n", i+ 'a', count[i]);
- return 0;
- }
- void find_frequency(char s[], int count[]) {
- int i = 0;
- while (s[i] != '\0') {
- if (s[i] >= 'a' && s[i] <= 'z')
- count[s[i] - 'a']++;
- c++;
- }
- }
- /* int isAlphabet(void)
- {
- char ch;
- /* 사용자로 부터 입력받은 문자열
- printf("문자열을 입력하세요: ");
- scanf("%c", &ch);
- if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
- {
- void lower_string(char[]);
- }
- else
- {
- printf("문자열을 다시 입력하세요.");
- }
- return 0;
- }
- /* void lower_string(char[]);
- int uppertolower()
- {
- char string[100];
- lower_string(string);
- printf("The string in lower case: %s\n", string);
- return 0;
- }*/
- /* void lower_string(char s[]) {
- int c = 0;
- while (s[c] != '\0') {
- if (s[c] >= 'A' && s[c] <= 'Z') {
- s[c] = s[c] + 32;
- }
- c++;
- }
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement