runner% cat mult_table.c #include #include #define MAXNUM 13 void main(void) { int i, j; printf(" * |"); for (j = 0; j < MAXNUM; j++) printf("%4i", j); printf("\n----|"); for (j = 0; j < MAXNUM; j++) printf("----"); printf("\n"); for (i = 0; i < MAXNUM; i++) { printf("%4i|", i); for (j = 0; j < MAXNUM; j++) printf("%4i", i*j); printf("\n"); } } runner% cat mult_table_2.c #include #include #define MAXNUM 13 void print_header(void); void create_table(int m[][MAXNUM]); void print_table(int m[][MAXNUM]); void main(void) { int m[MAXNUM][MAXNUM]; print_header(); create_table(m); print_table(m); exit(0); } void print_header(void) { int j; printf(" * |"); for (j = 0; j < MAXNUM; j++) printf("%4i", j); printf("\n----|"); for (j = 0; j < MAXNUM; j++) printf("----"); printf("\n"); } void create_table(int m[][MAXNUM]) { int i, j; for (i = 0; i < MAXNUM; i++) for (j = 0; j < MAXNUM; j++) m[i][j] = i*j; } void print_table(int m[][MAXNUM]) { int i, j; for (i = 0; i < MAXNUM; i++) { printf("%4i|", i); for (j = 0; j < MAXNUM; j++) printf("%4i", m[i][j]); printf("\n"); } } runner% mult_table * | 0 1 2 3 4 5 6 7 8 9 10 11 12 ----|---------------------------------------------------- 0| 0 0 0 0 0 0 0 0 0 0 0 0 0 1| 0 1 2 3 4 5 6 7 8 9 10 11 12 2| 0 2 4 6 8 10 12 14 16 18 20 22 24 3| 0 3 6 9 12 15 18 21 24 27 30 33 36 4| 0 4 8 12 16 20 24 28 32 36 40 44 48 5| 0 5 10 15 20 25 30 35 40 45 50 55 60 6| 0 6 12 18 24 30 36 42 48 54 60 66 72 7| 0 7 14 21 28 35 42 49 56 63 70 77 84 8| 0 8 16 24 32 40 48 56 64 72 80 88 96 9| 0 9 18 27 36 45 54 63 72 81 90 99 108 10| 0 10 20 30 40 50 60 70 80 90 100 110 120 11| 0 11 22 33 44 55 66 77 88 99 110 121 132 12| 0 12 24 36 48 60 72 84 96 108 120 132 144 runner% mult_table > out.text runner% mult_table_2 >out2.text runner% diff out.text out2.text runner%