Nested Loops in C
A nested loop is a loop inside another loop. The inner loop completes its repetitions for every one repetition of the outer loop. Nested loops are common for patterns and tables.
Syntax / Basic Pattern
| for (i = 1; i <= rows; i++) { for (j = 1; j <= cols; j++) { printf(“*”); } } |
Easy points to remember
- The outer loop usually controls rows.
- The inner loop usually controls columns.
- Always keep track of both loop variables.
| ⭐ PRACTICE TIP: Type these programs yourself. Change the values and run them again. That is how control statements become easy. |
Program 1: Star square
| #include <stdio.h> int main(){for(int i=1;i<=3;i++){for(int j=1;j<=3;j++)printf(“* “);printf(“\n”);}return 0;} |
| OUTPUT * * * * * * * * * |
Program 2: Number square
| #include <stdio.h> int main(){for(int i=1;i<=3;i++){for(int j=1;j<=3;j++)printf(“%d “,j);printf(“\n”);}return 0;} |
| OUTPUT 1 2 3 1 2 3 1 2 3 |
Program 3: Row numbers
| #include <stdio.h> int main(){for(int i=1;i<=3;i++){for(int j=1;j<=i;j++)printf(“%d “,j);printf(“\n”);}return 0;} |
| OUTPUT 1 1 2 1 2 3 |
Program 4: Star triangle
| #include <stdio.h> int main(){for(int i=1;i<=4;i++){for(int j=1;j<=i;j++)printf(“*”);printf(“\n”);}return 0;} |
| OUTPUT * ** *** **** |
Program 5: Reverse triangle
| #include <stdio.h> int main(){for(int i=4;i>=1;i–){for(int j=1;j<=i;j++)printf(“*”);printf(“\n”);}return 0;} |
| OUTPUT **** *** ** * |
Program 6: Multiplication table grid
| #include <stdio.h> int main(){for(int i=1;i<=3;i++){for(int j=1;j<=3;j++)printf(“%d “,i*j);printf(“\n”);}return 0;} |
| OUTPUT 1 2 3 2 4 6 3 6 9 |
Program 7: Coordinate pairs
| #include <stdio.h> int main(){for(int x=1;x<=2;x++)for(int y=1;y<=3;y++)printf(“(%d,%d) “,x,y);return 0;} |
| OUTPUT (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) |
Program 8: Alphabet rows
| #include <stdio.h> int main(){for(char r=’A’;r<=’C’;r++){for(int j=1;j<=3;j++)printf(“%c “,r);printf(“\n”);}return 0;} |
| OUTPUT A A A B B B C C C |
Program 9: Number pattern
| #include <stdio.h> int main(){for(int i=1;i<=3;i++){for(int j=1;j<=i;j++)printf(“%d “,i);printf(“\n”);}return 0;} |
| OUTPUT 1 2 2 3 3 3 |
Program 10: Right triangle numbers
| #include <stdio.h> int main(){for(int i=1;i<=4;i++){for(int j=1;j<=i;j++)printf(“%d “,j);printf(“\n”);}return 0;} |
| OUTPUT 1 1 2 1 2 3 1 2 3 4 |
Program 11: Rectangle
| #include <stdio.h> int main(){for(int i=1;i<=2;i++){for(int j=1;j<=5;j++)printf(“#”);printf(“\n”);}return 0;} |
| OUTPUT ##### ##### |
Program 12: Odd pattern
| #include <stdio.h> int main(){for(int i=1;i<=3;i++){for(int j=1;j<=i;j++)printf(“%d “,2*j-1);printf(“\n”);}return 0;} |
| OUTPUT 1 1 3 1 3 5 |
Program 13: Even pattern
| #include <stdio.h> int main(){for(int i=1;i<=3;i++){for(int j=1;j<=i;j++)printf(“%d “,2*j);printf(“\n”);}return 0;} |
| OUTPUT 2 2 4 2 4 6 |
Program 14: Table matrix
| #include <stdio.h> int main(){for(int i=2;i<=4;i++){for(int j=1;j<=3;j++)printf(“%d “,i*j);printf(“\n”);}return 0;} |
| OUTPUT 2 4 6 3 6 9 4 8 12 |
Program 15: Chess coordinates
| #include <stdio.h> int main(){for(int i=1;i<=2;i++){for(int j=1;j<=2;j++)printf(“%d%d “,i,j);printf(“\n”);}return 0;} |
| OUTPUT 11 12 21 22 |
