프로그래밍언어 문자열 연습문제
- 최초 등록일
- 2015.10.29
- 최종 저작일
- 2014.09
- 6페이지/ 한컴오피스
- 가격 1,000원
목차
없음
본문내용
4. 사용자로부터 받은 문자열에서 각각의 문자가 나타내는 빈도를 계산하여 출력하는 프로그램을 작성하여 보자.
문자열을 입력하시오
<프로그램 소스>
문자열을 받기 위하여 적당한 크기의 배열 s[100]을 선언하고, 사용되는 알파벳 개수를 세기 위하여 n[26]을 선언한다. 배열 n은 0으로 초기화한다.
gets(s)로 문자열을 입력받는다. 이중 for문을 이용하여 배열s의 각 문자가 아스키코드 97~122 (영어소문자 a~z)중 어디에 해당하는지 찾고, 해당 알파벳에 해당하는 배열n의 숫자를 1씩 더해 사용된 그 알파벳의 개수를 센다.
for문을 이용하여 배열n에서 센 알파벳의 개수를 출력한다.
>>실행
<프로그램 소스>
9. 간단한 ‘찾아바꾸기’기능을 구현하여 보자. 첫 번째로, 사용자에게 최대 80문자의 문자열을 입력하도록 한다. 두 번째로 찾을 문자열을 입력받는다. 세 번째로 바꿀 문자열을 입력받는다. 문자열을 찾아서 바꾼 후에 결과 문자열을 화면에 출력한다.
문자열을 입력하시오 : A fool and his mony are soon parted.
찾을 문자열 mony
바꿀 문자열 money
결과 A fool and his money are soon parted.
<프로그램 소스>
입력받을 문자열 s, 찾을 문자열 f, 바꿀 문자열 c, 바꾼 문자열 뒤의 데이터를 이어붙이기 위한 문자열 n, 찾는 문자열의 위치를 선언하기 위한 포인터*p, 문자열의 길이를 알기위한 l1, l2를 선언한다. gets를 이용해 문자열 s,f,c를 입력받고 strlen을 이용해 찾을 문자열과 바꿀 문자열의 길이를 구한다.
<프로그램 소스>
strstr을 통해 s 안에 있는 f의 위치를 찾아 포인터 p에 저장한다. s에서 f 뒤에있는 문자열을 n에 저장한다.(for문으로 i=0~100 까지 진행하면서 p(찾는 문자열의 첫 번째 위치)+l1(찾는 문자열의 크기)+i 에 위치한 문자를 n[i]에 저장한다.) 바꿀 문자열(c)를 찾는 문자열(f)의 자리에 저장한다.(for문으로 i=0~l2 까지 진행하면서 p+i의 주소에 c[i]를 저장.)
참고 자료
없음