문자열 빈도수 계산 프로그램

[출처] http://ask.nate.com/knote/view.html?num=26898


경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com


/////////////////////////////// 
// 선행처리 지시자 
#include <stdio.h> 
#define STRMAX 512 // 처리 가능한 입력문자열의 크기 


/////////////////////////////// 
// 사용자정의 자료형 선언부 
typedef char* PCHAR; // char*형의 사용자정의 자료형 선언 


/////////////////////////////// 
// 전역변수 선언부 
char str[STRMAX]; // 입력 문자열을 저장할 버퍼 
int cnt; // 문자열 버퍼에 입력된 문자수 


/////////////////////////////// 
// 함수 선언부 
void input(void); // 결과출력 
void sortStr(void); // 문자정렬 
void output(void); // 결과출력 


/////////////////////////////// 
// 함수 정의부 
void input(void) 

printf(" 문자열 : "); 
scanf("%s", str); // 문자열 입력 입력받기 


void sortStr(void) 

// 버퍼내의 문자수 파악 
cnt=0; // 초기화 
for(int i=0; i<STRMAX; i++) 

if(!str[i]) break; 
cnt++; 

printf("\n 버퍼내의 문자 수 : %d \n", cnt); 
// 문자열 정렬 
for(i=0; i<cnt-1; i++) 
for(int j=(i+1); j<cnt; j++) 
if(str[i] > str[j]) 
str[i] ^= str[j] ^= str[i] ^= str[j]; 


void output(void) 

// 화면 출력 
printf("\n"); 
for(int i=0; i<cnt; i++) 

// 문자열내의 문자 반복수 조사 
char temp = str[i]; 
for(int j=(i+1), num=1; j<cnt; j++) 

if(str[j] == temp) 
num++; 
else 
break; 


// 사용된 문자와 반복회수 출력 
i += (num-1); 
printf(" %c %3d회 ", temp, num); 

// 문자의 출현 빈도 = 문자의 반복수 / 문자열의 크기 
float prob = float(num) / float(cnt); 
printf("출현 빈도 = %6.5f ", prob); 

// 반복 횟수만큼 '*'출력 
for(j=0; j<num; j++) 
printf("*"); 
printf("\n"); 

printf("\n"); 



/////////////////////////////// 
// 메인함수 정의부 
void main(void) 

input(); // 입력함수 호출 
sortStr(); // 문자열 정렬 
output(); // 출력함수 호출 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
34 리눅스마스터 1급 필기 - 2013/2014년 기출문제 file 졸리운_곰 2014.09.07 562
33 [MFC] Find local network hosts ip, 로컬네트워크의 IP 주소 알아내기 졸리운_곰 2014.08.27 766
32 (Unicode) CString <==> const char* 졸리운_곰 2014.08.27 640
31 SWIG 의 간단한 개요 [C interface to others scripting lanuage] file 졸리운_곰 2014.08.19 472
30 Creating a Child Process with Redirected Input and Output 졸리운_곰 2014.08.17 573
29 C++로 짠 간단한 윈도우 서비스 file 졸리운_곰 2014.05.27 1003
» 문자열 빈도수 계산 프로그램 졸리운_곰 2014.03.03 3497
27 문자열 빈도 프로그램 file 졸리운_곰 2014.03.03 1159
26 문자열 검색 함수 - strchr(), strrchr(), strstr(), strspn(), strcspn(), strpbrk() 졸리운_곰 2014.03.03 1258
25 ostream/ifstream C++ stl 문자열 스트림 클래스 졸리운_곰 2014.03.03 1225
24 파일의 존재여부 검사 [access()함수] access() 파일 존재나 접근 권한을 확인합니다. 졸리운_곰 2014.03.03 1290
23 VC++ 파일에서 한 라인씩 읽기 졸리운_곰 2014.03.02 1199
22 linux c 파일 접근권한 정보 가져오기 졸리운_곰 2014.02.28 1163
21 Search Title Of Opened Windows file 졸리운_곰 2014.02.27 978
20 MFC VC++ 파일의 존재유무 체크 졸리운_곰 2014.02.18 1587
19 MFC VC++ : windows tcpip socket Send() function example 졸리운_곰 2014.02.18 1593
18 Check whether one specific process is running on windows with C++ 졸리운_곰 2014.02.18 1099
17 VC++ : Win32 console App run as to be hide (background) 졸리운_곰 2014.02.18 1245
16 VC++ : Win32 console App run as to be hide (background) 졸리운_곰 2014.02.18 1256
15 VC++ : windows : TCPIP SOCKET SERVER and CLIENT 졸리운_곰 2014.02.18 1097
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED