수안보중학교 로고이미지

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기
36. 문자열 탐색 - string navigation
작성자 컴샘 등록일 20.09.08 조회수 79



문제36

문자열 탐색

문자열 내에서 ‘찾고자 하는 값’이 어디에 위치하는지 확인하는 프로그램을 작성하시오.

입력 형식

입력 파일의 이름은 input.txt이다. 첫째 줄에 문자열이 주어진다. 둘째 줄에는 찾고자하는 문자가 주어진다. 문자열의 길이는 공백을 포함하여 255자이하이다.

출력 형식

출력 파일의 이름은 output.txt이다. 첫째 줄에 찾고자 하는 문자열 시작주소, 둘째 줄에는 찾고자하는 문자주소, 세 번째 줄에는 찾고자하는 문자 위치를 출력한다. 단, 첫 번째 글자의 값이 1이다.

입력과 출력의 예

입력 (input.txt)

Hello World!

W

출력 (output.txt)

문자열 시작 주소: 4235296

찾고자 하는 문자 주소: 4235302

찾고자 하는 문자 위치 : 7

//문자열 탐색

#include

#include //strchar()

int main()

{

freopen("input.txt","r",stdin);

freopen("output.txt","w",stdout);

static char name[255];

char s1, *s2; // 변수 s2는 주소를 상수값으로 취하기 때문에 포인터 변수로 선언

gets(name);

scanf("%c", &s1); //찿고자하는 문자열

s2=strchr(name,s1);

printf("문자열 시작 주소: %d \n", name);

printf("찾고자 하는 문자 주소: %d \n", s2);

printf("찾고자 하는 문자 위치 : %d \n", s2-name+1);

}

Hello World!

W

문자열 시작 주소: 4235296

찾고자 하는 문자 주소: 4235302

찾고자 하는 문자 위치 : 7


이전글 37. 바이러스
다음글 35. 어디에 있나? 방 위치 찾기 - Where is it?