reverse_me/level3/level3.c
2025-07-07 12:27:49 +02:00

51 lines
884 B
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void no()
{
printf("Nope.\n");
exit(1);
}
void yes()
{
printf("Good job.\n");
exit(0);
}
int main(void)
{
char input[31];
char output[9];
char char_ascii_in_chars[4];
int char_ascii = 0;
int inp_idx = 2;
int out_idx = 1;
int len = 0;
printf("please enter key: ");
if (scanf("%30s", input) != 1)
no();
if (input[0] != '4' || input[1] != '2')
no();
fflush(stdin);
memset(output, 0, 9);
output[0] = '*';
char_ascii_in_chars[3] = '\0';
while (strlen(output) < 8 && inp_idx < strlen(input))
{
char_ascii_in_chars[0] = input[inp_idx++];
char_ascii_in_chars[1] = input[inp_idx++];
char_ascii_in_chars[2] = input[inp_idx++];
char_ascii = atoi(char_ascii_in_chars);
output[out_idx++] = (char)char_ascii;
}
output[out_idx] = '\0';
if (strcmp(output, "********") == 0)
yes();
else
no();
}