본문 바로가기
C언어

[C언어] 문자열 안에 포함된 특정한 문자의 개수를 세는 함수 int str_chr(char *s, int c)를 작성하시오

by 이얏호이야호 2020. 5. 4.

문자열안에 개수를 셀 문자를 입력하고 그 문자를 발견하면 count를 증가시키는 프로그램을 가지고 왔습니다.

물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때

혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!

힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고

답안을 확인해보세요

코드힌트

더보기
결과
결과

str_chr(char *s, char c)

s의 내용이 c와 같다면 count를 증가시키고

count를 return 해주는 함수를 작성하면 됩니다.

아래는 기본틀이니 참고하셔서 코드 작성하시면 되겠습니다.

 

#include <string.h>

#include <stdio.h>

#define SIZE 100

int str_chr(char *s, char c) {		//s의 내용이 c와 같다면 count를 증가시키는 함수
	int i;

	int count=0;

	for (		) {	//s의 끝까지 c와 비교하며

		//만약s[i]가 c와 같다면

		//카운트를 증가시킨다

	}

	return count;

}

int main(void) {

	char str[SIZE];

	char ch;

	printf("문자열을 입력하시오: ");

	gets(str);

	printf("개수를 셀 문자를 입력하시오: ");

	ch = getchar();

	printf("%c의 개수: %d", ch, str_chr(str, ch));

	return 0;

}

 

 

 

답안코드

더보기
결과
결과
#include <string.h>

#include <stdio.h>

#define SIZE 100

int str_chr(char *s, char c) {  //s의 내용이 c와 같다면 count를 증가시키는 함수

	int i;

	int count=0;

	for (i=0;i<strlen(s);i++) { //s의 끝까지 c와 비교하며

		if( s[i] == c ) //만약s[i]가 c와 같다면

		count++;    //카운트를 증가시킨다

	}

	return count;   //count를 반환

}

int main(void) {

	char str[SIZE];

	char ch;

	printf("문자열을 입력하시오: ");

	gets(str);

	printf("개수를 셀 문자를 입력하시오: ");

	ch = getchar();

	printf("%c의 개수: %d", ch, str_chr(str, ch));

	return 0;

}

 

 

 

 

더 많은 C언어 글이 궁금하다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

 

댓글