Professional Documents
Culture Documents
14 15 16 17 18 19 20 } }
} printf("\n"); /*c is decremented by 1 */ c--;
return 0;
Download Code
Output:
1 22 333 4444 55555
Explanation: Here i loop is used for printing the numbers in the respective rows a
nd k loop is used for providing spaces. j loop prints the numbers. c is decremented f
r numbers to be displayed in alternate columns.
Back to top
# Write C program to print the following pattern:
1
19 20 21 }
} return 0;
Download Code
Output:
1 121 12321 1234321 123454321
Explanation: Here i loop is used for printing numbers in rows and k loop is used for
providing spaces. j loop is used for printing numbers in increasing order. m loop i
s used for printing numbers in reverse order.
Back to top
# Write a C program to display the following format:
-----ab -----15 24
19 20 }
return 0;
Download Code
Output:
-----ab -----15 24 33 42 51 -----Explanation: Here, i is initialized to least value 1 and j initialized to highest va
lue 5. We keep incrementing the i value and decrementing the j value until the cond
ition fails. The value is displayed at each increment and at each decrement. Bac
k to top
# Write a C program to display the following format:
-------no. sum --------
17 18 19 20 }
} printf("-----------"); return 0;
Download Code
Output:
-------no. sum -------1 1 2 3 3 6 4 10 5 15 --------
Explanation: In the above program we have taken two variables num and sum. num is use
to check the condition and to display the numbers up to 5. sum is used to add the
numbers which are displayed using variable num. The sum value is initialized to zer
o. sum is added to the numbers which are incremented by i and displayed.
10 most challanging pattern problems in C
1. Write a C program to print the following pattern:
* * * * * * * * * *
2. Write a C program to print the following pattern:
* ***
* ***
***** ***** ***********
3. Write a C program to print the following pattern:
* * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
*
*
4. Write a C program to print the following pattern:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
5. Write a C program to print the following pattern:
* *** ***** ******* ********* ******* ***** *** * *** *****
6. Write a C program to print the following pattern:
***
***
********* ******* ***** *** *
9. Write a C program to print the following pattern:
* *** ***** ******* * ** * **
*** *** ******* *** *** ** * ** *
******* ***** *** *
10. Write a C program to print the following pattern:
************************* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * *
*************************
1. Write a C program to print the following pattern:
* * * * * * * * * *
Program: view source print? 01/* This is a simple mirror-image of a right angle
triangle */ 02 03#include <stdio.h> 04int main() { 05 char prnt = * ;
25
++c;
26 } 27 } 28 return 0; 29}
Download Code
Back to top
3. Write C program to print the following pattern:
* * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
*
*
Program: view source print? 01#include<stdio.h>
28else { 29printf(" "); 30} 31} 32printf("\n"); 33nos = nos - 2; // space contro
l 34} nos = 1; // remaining half.. 35for (p = 4; p >= 1; p--) { 36 for (r = 1; r
<= p; r++) { 37if ((p % 2) != 0 && (r % 2) != 0) { 38printf("%3c", prnt); 39} 4
0else if ((p % 2) == 0 && (r % 2) == 0) { 41printf("%3c", prnt); 42} 43else { 44
printf(" "); 45} 46} 47for (s = nos; s >= 1; s--) { 48 printf(" ");
49 } 50 for (k = 1; k <= p; k++) { 51 52 53 if ((k % 2) != 0) { printf("%3c", pr
nt); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Program: view source print? 01#include<stdio.h> 02int main() { 03 char prnt = *
; 04 int i, j, s, nos = 0; 05 for (i = 9; i >= 1; (i = i - 2)) { 06 for (s = no
s; s >= 1; s--) { 07 printf(" ");
08 } 09 for (j = 1; j <= i; j++) { 10 11 12 13 if ((i % 2) != 0 && (j % 2) != 0)
{ printf("%2c", prnt); } else { printf(" ");
14
}
15 } 16 printf("\n"); 17 nos++; 18 } 19 nos = 3; 20 for (i = 3; i <= 9; (i = i +
2)) { 21for (s = nos; s >= 1; s--) { 22 printf(" ");
23 } 24 for (j = 1; j <= i; j++) { 25 26 27 28 29 30 if ((i % 2) != 0 && (j % 2)
!= 0) { printf("%2c", prnt); } else { printf(" "); }
31 } 32 nos--; 33 printf("\n"); 34 } 35 return 0; 36}
Download Code Back to top
** *
Program: view source print? 01/* 02 03 04*/ 05#include <stdio.h> 06// This funct
ion controls the inner loop and the spacing 07// factor guided by the outer loop
index and the spacing index. 08int triangle(int nos, int i) { 09 char prnt = *
; 10 int s, j; 11 for (s = nos; s >= 1; s--) { 12 printf(" "); 13 } 14 for (j =
1; j <= i; j++) { 15 printf("%2c", prnt); 16 } 17 return 0; 18} 19 20int main()
{ //The inner loop // Spacing factor This can be seen as two right angle triang
les sharing the same base which is modified by adding few extra shifting spaces
i++) { 2
lower tr
triangle
33 } 34
the spac
** ***
** ***
**** **** *********
Program: view source print? 01#include <stdio.h> 02 03int main() { 04 char prnt
= * ; 05 int i, j, k, s, nos = -1; 06 for (i = 5; i >= 1; i--) { 07 for (j = 1;
j <= i; j++) { 08 printf("%2c", prnt); 09} 10for (s = nos; s >= 1; s--) { 11 pr
intf(" ");
12 } 13 for (k = 1; k <= i; k++) { 14 15 16 17 if (i == 5 && k == 5) { continue;
} printf("%2c", prnt);
18 }
38}
Download Code Back to top
9. Write a C program to print the following pattern:
* *** ***** ******* * ** * **
*** *** ******* *** *** ** * ** *
******* ***** *** *
Program: view source print?
53 return 0; 54}
Download Code Back to top
10. Write a C program to print the following pattern:
************************* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * *
*************************
Program: view source print? 01#include <stdio.h> 02 03/* 04 * nos = Num. of spac
es required in the triangle. 05 * i = Counter for the num. of characters to prin
t in each row
32int main() { 33int i, nos = 0, nosp = -1, nbsp = -1; 34for (i = 9; i >= 1; (i
= i - 2)) { 35 triangle(nos, i, 0); 36 triangle(nosp, i, 1); 37 triangle(nbsp, i
, 1); 38 printf("\n"); 39 nos++; 40 nosp = nosp + 2; 41 nbsp = nbsp + 2; 42 } 43
nos = 3, nosp = 5, nbsp = 5; 44 for (i = 3; i <= 9; (i = i + 2)) { 45 triangle(
nos, i, 0); 46 triangle(nosp, i, 1); 47 triangle(nbsp, i, 1); 48 printf("\n"); 4
9 nos--; 50 nosp = nosp - 2; 51 nbsp = nbsp - 2; 52 } 53 return 0; 54}
15 16 17
} return 0; }
Download Code
Explanation: This is a right angle triangle composed of 0s and 1s. Back to top
End of Question1 Start of Question2 # Write C program to print the following pat
tern:
0 11 235 8 13 21
Program: view source print? 01 02 03 04 05 06 int main(void) { int i, j, a = 0,
b = 1, temp = 1; for (i = 1; i <= 4; i++) { for (j = 1; j <= i; j++) { #include
<stdio.h>
07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
if (i == 1 && j == 1) { // Prints the 0 individually first printf("0"); contin
ue; } printf("%d ", temp); // Prints the next digit in the series //Computes the
series temp = a + b; a = b; b = temp; if (i == 4 && j == 3) { // Skips the 4th
character of the base break; } } printf("\n"); } return 0; }
Download Code
Explanation: This prints the Fibonacci series in a right angle triangle formatio
n where the base has only three characters. Back to top
End of Question2 Start of Question3 # Write C program to print the following pat
tern:
16 17 18 19 20 21 22 23 24 25 26 27 28
return 0; }
void sequence(int x) { int j;
for (j = 1; j < x; j++) { printf("%d", j); } for (j = x; j > 0; j--) { printf("%
d", j); } }
Download Code Back to top
End of Question3 Start of Question4 # Write a C program to print the following p
attern:
2 456 6 7 8 9 10 456 2
Program: view source print? 01 02 03 04 int main(void) { int prnt; #include <std
io.h>
05 int i, j, k, r, s, sp, nos = 3, nosp = 2; //nos n nosp controls the spacing f
actor 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 // Prints the upper
triangle for (i = 1; i <= 5; i++) { if ((i % 2) != 0) { for (s = nos; s >= 1; s-) { printf(" "); } for (j = 1; j <= i; j++) { if (i == 5 && j == 5) { //Provide
s the extra space reqd betn 9 n 10 printf(" "); } prnt = i + j; printf("%2d", pr
nt); } } if ((i % 2) != 0) { printf("\n"); nos--; } // as 10 is a 2 digit no.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
} // Prints the
(k % 2) != 0) {
k; r++) { prnt
"); nosp++; } }
Download Code
Explanation: This is a diamond formation composed of numbers. The numbers are in
the following order next_no=i+j where next_no = The next no to be printed i = i
ndex of the outer for loop j = index of the inner for loop
Back to top
End of Question4 Start of Question5 # Write a C program to print the following p
attern:
1 333 55555
1 333 55555
7777777 7777777 55555 333 1 55555 333 1
Program: view source print? 01 02 03 04 05 06 07 08 09 10 int main(void) { int i
, j, k, s, p, q, sp, r, c = 1, nos = 13; for (i = 1; c <= 4; i++) { if ((i % 2)
!= 0) { // Filters out the even line nos. for (j = 1; j <= i; j++) { // The uppe
r left triangle printf("%2d", i); } for (s = nos; s >= 1; s--) { // The spacing
factor #include <stdio.h>
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
printf(" "); } for (k = 1; k <= i; k++) { // The upper right triangle printf("%2
d", i); } printf("\n"); nos = nos - 4; // Space control ++c; } } nos = 10; // Sp
ace control re intialized c = 1; for (p = 5; (c < 4 && p != 0); p--) { if ((p %
2) != 0) { // Filters out the even row nos for (q = 1; q <= p; q++) { // Lower l
eft triangle printf("%2d", p); } for (sp = nos; sp >= 1; sp--) { // Spacing fact
or printf(" "); } for (r = 1; r <= p; r++) { // Lower right triangle printf("%2d
", p); }
printf("\n"); --c;
37 38 39 40 41 42
nos = nos + 8; // Spacing control. } }
return 0; }
Download Code
Explanation: Here we are printing only the odd row nos along with thier respecti
ve line number. This structure can divided into four identical right angle trian
gles which are kind of twisted and turned placed in a particular format . Back t
o top
End of Question5 Start of Question6 # Write a C program to print the following p
attern:
0 -2-3 0 -4-3-2-1 0 -2-3 0 0
Program: view source print?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
#include <stdio.h>
int main(void) { int i, j, k, r, s, sp, nos = 2, nosp = 1; for (i = 1; i <= 5; i
++) { if ((i % 2) != 0) { for (s = nos; s >= 1; s--) { //for the spacing factor.
printf(" "); } for (j = 1; j <= i; j++) { printf("%2d", j-i); } } if ((i % 2) !
= 0) { printf("\n"); nos--; } } for (k = 3; k >= 1; k--) { if ((k % 2) != 0) { f
or (sp = nosp; sp >= 1; sp--) { // for the spacing factor. printf(" "); } for (r
= 1; r <= k; r++) { printf("%2d", r-k); }
27 28 29 30 31 32 33 34
} if ((k % 2) != 0) { printf("\n"); nosp++; } } return 0; }
Download Code
Explanation:This can be seen as a diamond composed of numbers. If we use the con
ventional nested for loop for its construction the numbers can be seen to flowin
g the following function f(x) -> j-i where j= inner loop index i= outer loop ind
ex Back to top
End of Question6 Start of Question7 # Write a C program to print the following p
attern:
77777777777 7 7 7 7
7 7 7 7 7 7
Program: view source print? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 int
main(void) { int i, j; for (i = 11; i >= 1; i--) { for (j = 1; j <= i; j++) { if
(i == 11) { printf("7"); // Makes sure the base is printed completely continue;
} else if (j == i) { // Hollows the rest printf("7"); } else { printf(" "); } }
printf("\n"); #include <stdio.h>
17 18 19
} return 0; }
Download Code
Explanation: This can be seen as a hollow right-angled triangle composed of 7s Ba
ck to top
End of Question7 Start of Question8 # Write a C program to print the following p
attern:
1 10 101 1010 10101
1 10 101 1010 10101
101010 101010 1010101010101 101010 101010 10101 1010 101 10 1 10101 1010 101 10
1
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 }
} } } } } } }
printf(" 0");
printf("\n"); nos=nos-2; // Space Control
nos=1; for ( i=6; i>=1; i--) { // It shares the same base for (j=1; j<=i; j++) {
if (j%2!=0) { printf(" 1"); } else { printf(" 0");
for(s=nos; s>=1; s--) // Spacing factor { printf(" ");
for (k=1; k<=i; k++) { if (k%2!=0) { printf(" 1"); } else { printf(" 0");
50 51 52 53 54 } }
printf("\n"); nos=nos+2;
return 0;
Download Code Back to top
End of Question8 Start of Question9 # Write a C program to print the following p
attern:
1 24 369 24 1
Program: view source print? 01 02 03 04 05 #include <stdio.h> int main(void) { i
nt i,j; for (i=1; i<=3 ; i++) { for (j=1; j<=i; j++) {
06 07 08 09 10 11 12 13 14 15 16 17 } } } } }
printf("%2d", (i*j));
printf("\n");
for (i=2; i>=1; i--) { // As they share the same base for (j=1; j<=i; j++) { pri
ntf("%2d",i*j);
printf("\n");
return 0;
Download Code
Explanation: This can be seen as two right angle triangles sharing th same base
The numbers are following the following function f(x) = i *j where i = Index of
the Outer loop j = Index of the inner loop Back to top
End of Question9 Start of Question10 # Write a C program to print the following
pattern:
1
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 } } } } }
}
printf("\n");
for (i=6; i>=1; i--) { //As it shares the same base i=6 for (j=1; j<=i; j++) { i
f (j==1) { // Applying the condition printf(" 1"); } else { printf(" 0"); }
printf("\n");
return 0;
Download Code
Explanation: This can be seen as two right angle triangles sharing the same base
which is composed of 0s n 1s. The first column is filled with 1s and rest with 0s