#include <stdio.h> void state_init() { printf("Init\n"); } void state_load() { printf("Load\n"); } void state_execute() { printf("Execute\n"); } void state_exit() { printf("Exit\n"); } void run_state_sequence(int start) { if(start < 0 && start > 3) return; void (*pMatrix[4][3])() = { {&state_init, &state_load, &state_execute}, {&state_load, &state_execute, &state_exit}, {&state_execute, &state_exit, &state_init}, {&state_exit, &state_init, &state_load} }; for(int k = 0; k < 3; k++) { pMatrix[start][k](); } } int main() { int start; scanf("%d", &start); run_state_sequence(start); return 0; }
Test Cases
Test Results
Input
0
Expected Output
Init Load Execute