#include <stdio.h>
#include <string.h>
main()
{
char a[80], b[80];
int i;
gets(a);
puts(a);
strcpy(b,a);
for(i=strlen(b)-1; i>=0; i--) //0번부터 첨자가 있기때문에
putchar(b[i]);
if(strcmp(a,b)==0)
printf("회문입니다.\n");
else
printf("회문이 아닙니다.\n");
}
회문 검사하는 프로그램인데 아무거나 넣어도 다 회문입니다 라고 떠요ㅜㅜ
strrev라는거 사용하니까 한번에 되던데 학교에서 안배워서 못씁니다ㅠㅠㅠㅠ
strlen(b)/2해도 똑같던데
제생각에 for문부터 잘못된거같아서 4시간동안 이러고있는데 여기서 뭘 더 어떻게해야되는지 모르겠습니다 도와주세요제발ㅜㅜ
조공은?
학교에서 안배웠다고 쓰면 안되나? strrev가 어떤식으로 구현되있는지 확인해보고 직접구현하셈...strrev로는 되는데 니 코드로는 안되는거면 니 구현이 잘못됐다는소리잖슴
for문안에서 b배열을 출력만 하지 말고, 뒤집어 놓은대로 temp하나 만들던지 해서 옮겨야 할거 아니냐
잘봤읍니다
조공 없냐.. 재밌게 해봐.. char a[80]; 한개만 주고, 루프문에서 비교연산 조건을 if( a[i] == a[MAX-i] ) continue; 로 검토해봐.
MAX는. const int MAX = strlen(a) - 1; 이렇게