C Program to Print Pyramids and Patterns
In this example, i’ll show you print half pyramids, inverted pyramids, full pyramids, inverted full pyramids, Pascal’s triangle, and Floyd’s triangle in C Programming.
Example 1: Half Pyramid of *
1 2 3 4 5 6 7 8 |
<samp>* * * * * * * * * * * * * * * </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> i, j, rows; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = <span class="hljs-number">1</span>; i <= rows; ++i) { <span class="hljs-keyword">for</span> (j = <span class="hljs-number">1</span>; j <= i; ++j) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"* "</span>); } <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 2: Half Pyramid of Numbers
1 2 3 4 5 6 7 8 |
<samp>1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> i, j, rows; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = <span class="hljs-number">1</span>; i <= rows; ++i) { <span class="hljs-keyword">for</span> (j = <span class="hljs-number">1</span>; j <= i; ++j) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"%d "</span>, j); } <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 3: Half Pyramid of Alphabets
1 2 3 4 5 6 7 8 |
<samp>A B B C C C D D D D E E E E E </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> i, j; <span class="hljs-keyword">char</span> input, alphabet = <span class="hljs-string">'A'</span>; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter an uppercase character you want to print in the last row: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%c"</span>, &input); <span class="hljs-keyword">for</span> (i = <span class="hljs-number">1</span>; i <= (input - <span class="hljs-string">'A'</span> + <span class="hljs-number">1</span>); ++i) { <span class="hljs-keyword">for</span> (j = <span class="hljs-number">1</span>; j <= i; ++j) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"%c "</span>, alphabet); } ++alphabet; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 4: Inverted half pyramid of *
1 2 3 4 5 6 7 8 |
<samp>* * * * * * * * * * * * * * * </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> i, j, rows; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = rows; i >= <span class="hljs-number">1</span>; --i) { <span class="hljs-keyword">for</span> (j = <span class="hljs-number">1</span>; j <= i; ++j) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"* "</span>); } <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 5: Inverted half pyramid of numbers
1 2 3 4 5 6 7 8 |
<samp>1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> i, j, rows; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = rows; i >= <span class="hljs-number">1</span>; --i) { <span class="hljs-keyword">for</span> (j = <span class="hljs-number">1</span>; j <= i; ++j) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"%d "</span>, j); } <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 6: Full Pyramid of *
1 2 3 4 5 6 7 8 |
<samp> * * * * * * * * * * * * * * * * * * * * * * * * * </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> i, space, rows, k = <span class="hljs-number">0</span>; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = <span class="hljs-number">1</span>; i <= rows; ++i, k = <span class="hljs-number">0</span>) { <span class="hljs-keyword">for</span> (space = <span class="hljs-number">1</span>; space <= rows - i; ++space) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">" "</span>); } <span class="hljs-keyword">while</span> (k != <span class="hljs-number">2</span> * i - <span class="hljs-number">1</span>) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"* "</span>); ++k; } <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 7: Full Pyramid of Numbers
1 2 3 4 5 6 7 8 |
<samp> 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5 </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> i, space, rows, k = <span class="hljs-number">0</span>, count = <span class="hljs-number">0</span>, count1 = <span class="hljs-number">0</span>; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = <span class="hljs-number">1</span>; i <= rows; ++i) { <span class="hljs-keyword">for</span> (space = <span class="hljs-number">1</span>; space <= rows - i; ++space) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">" "</span>); ++count; } <span class="hljs-keyword">while</span> (k != <span class="hljs-number">2</span> * i - <span class="hljs-number">1</span>) { <span class="hljs-keyword">if</span> (count <= rows - <span class="hljs-number">1</span>) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"%d "</span>, i + k); ++count; } <span class="hljs-keyword">else</span> { ++count1; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"%d "</span>, (i + k - <span class="hljs-number">2</span> * count1)); } ++k; } count1 = count = k = <span class="hljs-number">0</span>; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 8: Inverted full pyramid of *
1 2 3 4 5 6 7 8 |
<samp>* * * * * * * * * * * * * * * * * * * * * * * * * </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> rows, i, j, space; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = rows; i >= <span class="hljs-number">1</span>; --i) { <span class="hljs-keyword">for</span> (space = <span class="hljs-number">0</span>; space < rows - i; ++space) <span class="hljs-built_in">printf</span>(<span class="hljs-string">" "</span>); <span class="hljs-keyword">for</span> (j = i; j <= <span class="hljs-number">2</span> * i - <span class="hljs-number">1</span>; ++j) <span class="hljs-built_in">printf</span>(<span class="hljs-string">"* "</span>); <span class="hljs-keyword">for</span> (j = <span class="hljs-number">0</span>; j < i - <span class="hljs-number">1</span>; ++j) <span class="hljs-built_in">printf</span>(<span class="hljs-string">"* "</span>); <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 9: Pascal’s Triangle
1 2 3 4 5 6 7 8 9 |
<samp> 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> rows, coef = <span class="hljs-number">1</span>, space, i, j; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = <span class="hljs-number">0</span>; i < rows; i++) { <span class="hljs-keyword">for</span> (space = <span class="hljs-number">1</span>; space <= rows - i; space++) <span class="hljs-built_in">printf</span>(<span class="hljs-string">" "</span>); <span class="hljs-keyword">for</span> (j = <span class="hljs-number">0</span>; j <= i; j++) { <span class="hljs-keyword">if</span> (j == <span class="hljs-number">0</span> || i == <span class="hljs-number">0</span>) coef = <span class="hljs-number">1</span>; <span class="hljs-keyword">else</span> coef = coef * (i - j + <span class="hljs-number">1</span>) / j; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"%4d"</span>, coef); } <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |
Example 10: Floyd’s Triangle.
1 2 3 4 5 6 7 |
<samp>1 2 3 4 5 6 7 8 9 10 </samp> |
C Program
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span> <span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">int</span> rows, i, j, number = <span class="hljs-number">1</span>; <span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the number of rows: "</span>); <span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%d"</span>, &rows); <span class="hljs-keyword">for</span> (i = <span class="hljs-number">1</span>; i <= rows; i++) { <span class="hljs-keyword">for</span> (j = <span class="hljs-number">1</span>; j <= i; ++j) { <span class="hljs-built_in">printf</span>(<span class="hljs-string">"%d "</span>, number); ++number; } <span class="hljs-built_in">printf</span>(<span class="hljs-string">"\n"</span>); } <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; } |