 Let's write a program that creates the multiplication table for the digits 1 through 9. There are 9 rows, a good candidate for a loop. And in each row there are 9 columns, also a good candidate for a loop. Each entry in the table is the product of the row number and column number. To do this we'll need nested 4 loops, 4 loops inside of 4 loops. Here in the comments is what the output will look like when the program is finished. Each dot represents a blank. It's really important to plan this out before you start writing the code. Let's start with these first two header lines. While we could do everything by hand counting the spaces ourselves, for example 1, 2, 3, 4, 5, 6, 1, 1, 2, 3, 2, 1, 2, 3, 3. It's really error prone and it's boring. Why should we do the counting when we can have C do the counting for us? We'll start with the leading 3 blanks and then we'll run a 4 loop. We'll count starting from 1 to less than 10 and add 1 each time. And then we'll print each of the numbers to take up exactly 4 spaces. Since we've printed all the numbers we have to go to the next line. Let's build that and test it to see that that works. Looks good so far. The next step is to do the next row of the header and in a similar way we'll print the two dashes in the plus sign and then run another 4 loop for count from 1 up through and including 9 and adding 1 each time and this time we'll print 4 dashes and when we're done with this row we also need a new line character. We build and run and so far so good. This is a good way to develop programs. Instead of writing the entire program and then running it to see if it works, we build one part at a time and then test it and then if anything goes wrong we know which step was the one that went wrong. In the body of the table we see that before the vertical bar we need 1 space for the digit and then 1 blank and then each of the numbers takes up exactly 4 spaces. Let's write the outer 4 loop that prints the row numbers. We'll have for int row which is a very good name for the row counter. We'll start it at 1, we'll go as long as it's less than 10 and add 1 each time and then we'll print the digit, a space, and a vertical bar and the row fills in that placeholder. Then we'll eventually have to print the column entries for the row and at the end of each row we need a new line character. Again we build and test. It's looking good. Now we need to complete this part, printing the column entries. That's another loop. We'll have a for loop that sets a counter called column and it will go from 1 up through an including 9 and we'll add 1 each time and what we'll do then is we will print f using 4 spaces the row times the column. The entry that goes in that particular row and column. This is our nested loop. We have a for loop that's inside of another for loop. Let's build and run and there's our multiplication table. Once again here's the nested loop part of the code with colors and lines to help you see their relationship. From a point of programming style using meaningful variable names for your loop control variables and indenting correctly are vital parts of keeping your code organized and readable.