✅ strcmp() 문자열 함수 문제
- 문제 : 두 개의 문자열 데이터를 입력받아 크기를 비교하는 프로그램
#include <stdio.h>
#include <string.h>
int main()
{
char data1[100];
char data2[100];
printf("첫번째 문자열 데이터를 입력하시오 : ");
scanf_s("%s", data1,100);
printf("===============\n");
printf("두번째 문자열 데이터를 입력하시오 : ");
scanf_s("%s", data2,100);
printf("===============\n");
if (strcmp(data1, data2) == 0)
{
printf("두 문자열은 같습니다");
}
else if (strcmp(data1, data2) < 0)
{
printf("앞 문자열이 뒤 문자열보다 앞에 있습니다");
}
else
{
printf("앞 문자열이 뒤 문자열보다 뒤에 있습니다");
}
printf("\n");
printf("===============\n");
printf("작성자 : 2017E7043 최주영");
return 0;
}
- 출력결과
✅ strchr() 문자열 함수 문제
- 문제 : 문자열에서 특정 문자의 위치를 찾는 프로그램
#include <stdio.h>
#include <string.h>
int main()
{
char data[100];
char find = 'M';
char* p;
printf("문제 : strchr() 함수를 이용하여 문자열에서 특정 문자의 위치를 찾는 프로그램\n");
printf("========================\n");
printf("문자열을 입력하시오 : ");
scanf_s("%s", data,100);
printf("========================\n");
printf("%s에서 찾을 문자를 입력하시오 : ",data);
scanf_s(" %c",&find);
printf("========================\n");
p = strchr(data, find);
if (p == NULL)
{
printf("%s에는 %c가 없습니다.", data, find);
}
else
{
while (p != NULL)
{
printf("문자 %c가 %d번 자리에 있습니다.\n", *p, (p - data) + 1);
p = strchr(p + 1, find);
}
}
printf("========================\n");
printf("작성자 : 2017E7043 최주영");
return 0;
}
- 출력결과
✅ strstr() 문자열 함수 문제
- 문제 : 문자열에서 특정 단어의 위치를 찾는 프로그램
#include <stdio.h>
#include <string.h>
int main()
{
char data[100];
char data1[100];
char* p;
int location;
printf("문제 : strstr() 함수를 이용하여 입력받은 문자열에서 입력받은 특정 문자열의 위치를 찾는 프로그램\n");
printf("========================\n");
printf("문자열을 입력하시오 : ");
gets(data);
printf("========================\n");
printf("%s에서 찾을 문자열을 입력하시오 : ",data);
scanf_s("%s",data1,100);
printf("========================\n");
p = strstr(data,data1);
location = (int)(p - data);
if (p != NULL)
{
printf("첫 번째 %s가 %d자리에 있습니다.\n", data1, location);
}
else
{
printf("%s는 %에 없음\n",data1,data);
}
printf("========================\n");
printf("작성자 : 2017E7043 최주영");
return 0;
}
- 출력결과
✅ strcmp() 심화 문제 [1]
- 문제 : 배열을 이용한 자동응답 프로그램
( “이름”을 입력하면 본인이름, “학번”을 입력하면 본인학번, “연락처”를 입력하면 전화번호, “전공”을 입력하면 본인전공이 출력)
#include <stdio.h>
#include <string.h>
int main()
{
char str[5];
char menu[4][100] =
{
"최주영",
"2017E7043",
"010-8304-3868",
"컴퓨터공학"
};
printf("문제 : 배열을 이용한 자동응답 프로그램\n");
printf("=================\n");
while (1)
{
printf("이름,학번,번호,전공 중에 확인하고 싶은것을 입력하시오 : ");
scanf_s("%s", str, 5);
if (strcmp(str, "이름") == 0)
{
printf("---------> 나의 이름 = %s\n", menu[0]);
}
else if (strcmp(str, "학번") == 0)
{
printf("---------> 나의 학번 = %s\n", menu[1]);
}
else if (strcmp(str, "번호") == 0)
{
printf("---------> 나의 번호 = %s\n", menu[2]);
}
else if (strcmp(str, "전공") == 0)
{
printf("---------> 나의 전공 = %s\n", menu[3]);
}
else
{
printf("---------> 다시 프로그램을 실행해 주어진 메뉴만 입력하십시오\n");
break;
}
}
printf("========================\n");
printf("작성자 : 2017E7043 최주영");
return 0;
}
- 출력결과
✅ strcmp() 심화 문제 [2]
- 문제 : hangman(단어맞추기) 게임 프로그램을 작성
#include <stdio.h>
#include <string.h>
int check(char s[], char a[], char ch)
{
int n;
for (n = 0; s[n] != '\0'; n++)
{
if (s[n] == ch)
{
a[n] = ch;
}
}
if (strcmp(s, a) == 0)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
char solution[100] = "choi ju yung";
char answer[100] = "____ __ ____";
char ch;
int N, blank = 0;
printf("문제 : hangman(단어맞추기) 게임 프로그램\n");
printf("=================\n");
while (1)
{
printf("문자열을 입력하시오 : %s \n", answer);
printf("문자를 추측하시오:");
ch = getchar();
if (check(solution, answer, ch) == 1)break;
}
printf("========================\n");
printf("작성자 : 2017E7043 최주영");
return 0;
}
- 출력결과