Pattern programming in C is a fascinating way to improve your understanding of loops, conditionals, and nested structures. By generating various patterns of stars, numbers, or characters, you can sharpen your logical thinking and programming skills. This article explores 10 different pattern programs in C, ranging from simple to complex, to help you master pattern generation.
Introduction
Pattern programs are a common topic in C programming, especially for beginners and those preparing for coding interviews. They help in understanding nested loops, controlling the flow of the program, and managing the output format. Each pattern involves a unique way of iterating through loops and printing the desired shape.
1. Right-Angled Triangle
This is a basic pattern where stars form a right-angled triangle. It’s a good starting point for understanding nested loops.
Right-Angled Triangle Pattern:
*
**
***
****
*****
Complete Code:
#include <stdio.h> int main() { int i, j, n; printf("Enter the number of rows: "); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } return 0; }
2. Inverted Right-Angled Triangle
This pattern is an inverted version of the right-angled triangle.
Inverted Right-Angled Triangle Pattern:
*****
****
***
**
*
Complete Code:
#include <stdio.h> int main() { int i, j, n; printf("Enter the number of rows: "); scanf("%d", &n); for (i = n; i >= 1; i--) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } return 0; }
3. Full Pyramid
This pattern forms a pyramid shape with stars.
Full Pyramid Pattern:
*
***
*****
*******
*********
Complete Code:
#include <stdio.h> int main() { int i, j, n, k; printf("Enter the number of rows: "); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = i; j < n; j++) { printf(" "); } for (k = 1; k <= (2 * i - 1); k++) { printf("*"); } printf("\n"); } return 0; }
4. Inverted Pyramid
This pattern is the inverted form of the full pyramid.
Inverted Pyramid Pattern:
*********
*******
*****
***
*
Complete Code:
#include <stdio.h> int main() { int i, j, n, k; printf("Enter the number of rows: "); scanf("%d", &n); for (i = n; i >= 1; i--) { for (j = n; j > i; j--) { printf(" "); } for (k = 1; k <= (2 * i - 1); k++) { printf("*"); } printf("\n"); } return 0; }
5. Diamond Pattern
This pattern forms a diamond shape with stars.
Diamond Pattern Pattern:
*
***
*****
*******
*********
*******
*****
***
*
Complete Code:
#include <stdio.h> int main() { int i, j, n, k; printf("Enter the number of rows: "); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = i; j < n; j++) { printf(" "); } for (k = 1; k <= (2 * i - 1); k++) { printf("*"); } printf("\n"); } for (i = n - 1; i >= 1; i--) { for (j = n; j > i; j--) { printf(" "); } for (k = 1; k <= (2 * i - 1); k++) { printf("*"); } printf("\n"); } return 0; }
6. Floyd’s Triangle
This pattern displays numbers in a triangle format, incrementing by 1 each time.
Floyd’s Triangle Pattern:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
Complete Code:
#include <stdio.h> int main() { int i, j, n, num = 1; printf("Enter the number of rows: "); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1; j <= i; j++) { printf("%d ", num++); } printf("\n"); } return 0; }
7. Pascal’s Triangle
Pascal’s triangle displays binomial coefficients in a triangular format.
Pascal’s Triangle Pattern:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Complete Code:
#include <stdio.h> int main() { int i, j, n; printf("Enter the number of rows: "); scanf("%d", &n); for (i = 0; i < n; i++) { int num = 1; for (j = 0; j <= i; j++) { printf("%4d", num); num = num * (i - j) / (j + 1); } printf("\n"); } return 0; }
8. Hollow Square
This pattern creates a square frame with stars.
Hollow Square Pattern:
*****
* *
* *
* *
*****
Complete Code:
#include <stdio.h> int main() { int i, j, n; printf("Enter the size of the square: "); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { if (i == 1 || i == n || j == 1 || j == n) { printf("*"); } else { printf(" "); } } printf("\n"); } return 0; }
9. Number Pyramid
This pattern displays numbers in a pyramid format.
Number Pyramid Pattern:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Complete Code:
#include <stdio.h> int main() { int i, j, n; printf("Enter the number of rows: "); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = i; j < n; j++) { printf(" "); } for (j = 1; j <= i; j++) { printf("%d ", j); } printf("\n"); } return 0; }
10. Character Triangle
This pattern forms a triangle with alphabets.
Character Triangle Pattern:
A
A B
A B C
A B C D
A B C D E
Code:
#include <stdio.h> int main() { int i, j, n; char ch; printf("Enter the number of rows: "); scanf("%d", &n); for (i = 1; i <= n; i++) { ch = 'A'; for (j = 1; j <= i; j++) { printf("%c ", ch++); } printf("\n"); } return 0; }
Conclusion
Pattern programming in C is an engaging way to practice loops, conditionals, and nested structures. Each pattern presented here provides a different challenge, helping