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
Scroll to Top