blob: cf01782fa180013defeee32c264ea4f23de9f825 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#include <stdio.h>
// i made string_length equal tp (-1) cause string indices start from number 0, probably there is a better way represent what i want :(
char *reverse_string(char *string_input) {
int string_length = -1;
for (int i = 0;string_input[i] != '\0'; i++) {
string_length += 1;
}
for (int i = 0;i <= string_length;i++) {
char tmp = string_input[i];
string_input[i] = string_input[string_length];
string_input[string_length] = tmp;
string_length--;
}
return string_input;
}
void check_palidnrome(char *string_input1, char *string_input2) {
int string_length = -1;
int flags = 0;
for (int i = 0;string_input1[i] != '\0';i++) {
string_length += 1;
}
for (int i = 0;i <= string_length;i++) {
if (string_input1[i] == string_input2[string_length]) {
flags = 1;
string_length--;
}
else {
flags = 0;
printf("Not a palindrome\n\n");
break;
}
}
if (!flags == 0) {
printf("This is a palindrome\n\n");
}
}
int main()
{
printf("Get me a word to see if it is a palindrome[Capital letters excluded XD]\n\n");
char user_input[1000];
while (scanf("%s", user_input) != EOF) {
char *reversed = reverse_string(user_input);
check_palidnrome(user_input, reversed);
}
return 0;
}
|