#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(*fp[4])(void)={state_init,state_load,state_execute,state_exit};
int ar[4]={0,1,2,3};
while(start!=0){
int c=ar[0];
for(int i=0;i<3;i++){
ar[i]=ar[i+1];
}
ar[3]=c;
start=start-1;
}
(*fp[ar[0]])();
printf("\n");
(*fp[ar[1]])();
printf("\n");
(*fp[ar[2]])();
printf("\n");
}
int main() {
int start;
scanf("%d", &start);
run_state_sequence(start);
return 0;
}
Input
0
Expected Output
Init Load Execute