47.3 연습문제 : 정수 회문 판별하기
문제) 정수 회문이란 앞 뒤가 같은 수를 의미합니다. 예) 121, 353, 11211 등. 다음 소스 코드를 완성하여 입력된 정수가 회문인지 판별하세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
int main()
{
long long num1;
char text[30];
printf("정수를 입력하세요: ");
scanf("%lld", &num1);
sprintf(text, "%lld", num1);
int length;
bool isPalindrome = true;
length = strlen(text);
int begin = 0;
int end = length - 1;
while (begin < end)
{
if (text[begin] != text[end])
{
isPalindrome = false;
break;
}
begin++;
end--;
}
printf("%d\n", isPalindrome);
return 0;
}

47.4 연습문제 : 4-gram 만들기
문제) 다음 소스 코드를 완성하여 입력된 문자열을 문자 단위로 4-gram을 출력하세요. 만약 3글자 이하의 단어가 입력되면 wrong을 출력하세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
char text[30];
int length;
int n = 4;
scanf("%s", text);
length = strlen(text);
if (length < n)
{
printf("wrong\n");
}
else
{
for (int i = 0; i < length - (n - 1); i++)
{
for (int j = 0; j<n; j++)
printf("%c", text[i + j]);
printf("\n");
}
}
return 0;
}

47.6 심사문제 : N-gram 만들기
문제) 표준 입력으로 정수와 길이 10 이하의 문자열이 입력됩니다. 입력된 문자열을 정수만큼 문자 단위로 N-gram을 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다). 만약 입력된 문자열의 길이가 입력된 정수 미만이라면 wrong을 출력하세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
char text[11];
int length;
int n;
scanf("%d %s", &n, text);
length = strlen(text);
if (length < n)
{
printf("wrong\n");
}
else
{
for (int i = 0; i < length - (n - 1); i++)
{
for (int j = 0; j < n; j++)
printf("%c", text[i + j]);
printf("\n");
}
}
return 0;
}

'스터디 > 코딩' 카테고리의 다른 글
| [ 코딩 도장 : C ] Unit 50. 구조체 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
|---|---|
| [ 코딩 도장 : C ] Unit 48. 구조체 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
| [ 코딩 도장 : C ] Unit 46. 문자열과 숫자를 서로 변환하기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
| [ 코딩 도장 : C ] Unit 45. 문자열 자르기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
| [ 코딩 도장 : C ] Unit 44. 문자열 검색하기 : 연습문제 / 심사문제 (0) | 2024.07.09 |