현재 주어진 문자열에 palindroms 단어가 몇 개 있는지 확인하고 해당 번호를 main으로 반환하는 함수를 작성하려고합니다. 내 접근 방식은 문자열의 길이를 확인하고 역순으로 다른 문자열로 복사 한 다음 둘 다 비교하는 것이 었습니다. 내가 빈 공간을 도달 할 때마다 확인하면서문자열 palindrom 검사
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int palindrom(char str1[81]);
int main(){
char str[81];
gets(str);
printf("%d pali\n", palindrom(str));
}
int palindrom(char str[81]) {
int i, j=0, k = 0, pali_count = 0, length = 0, flag=0;
char rev[81], c;
for (i = 0; str[i] != '\0'; i++){}//getting the string length
while (i >= 0) {//revrsing the string
rev[j++] = str[--i];
}
rev[j-1] = '\0';
printf("%s", rev);
length = j - 2;
k = length;
j = 0;
while (k >= 0) {
k--;
j++;
c = rev[k];
if (rev[k] != str[j])
flag++;
if (c == ' ') {
if (flag == 0)
pali_count++;
flag = 0;
continue;
}
return pali_count;
}
return 0;
}
및 질문/문제는 무엇인가? – Derlin
괜찮지 만 질문이 뭐니 뭐니 뭐니 뭐니해도 문제가 어디 있니? –
나는 정확한 숫자의 회문을 얻지 못한다고 생각한다. –