#include <stdio.h>
void state_init() { printf("Init"); }
void state_load() { printf("Load"); }
void state_execute() { printf("Execute"); }
void state_exit() { printf("Exit"); }
// Your logic here
void run_state_sequence(int start) {
// Implement using function pointer array
void (*func_ptr1)(void) = &state_init;
void (*func_ptr2)(void) = &state_load;
void (*func_ptr3)(void) = &state_execute;
void (*func_ptr4)(void) = &state_exit;
void (*func[4])(void) = {func_ptr1,func_ptr2,func_ptr3,func_ptr4};
int size = 4;
int count = 0;
while(count < 3){
func[(start + count) % size]();
printf("\n");
count++;
}
}
int main() {
int start;
scanf("%d", &start);
run_state_sequence(start);
return 0;
}
Input
0
Expected Output
Init Load Execute