Number problems in C # Write C program to print the following pattern:
1 22 333 4444 55555
Program: view source print? 01
#include
02
int main() {
03
int i, j, k, c = 5;
04
for (i = 1; i <= 5; i++) {
05
/* k is taken for spaces */
06
for (k = 1; k <= c; k++) {
07
/* blank space */
08
printf(" ");
09
}
10
for (j = 1; j <= i; j++) {
11 12 13
/* %2d %2d ensu ensure res s that that the the numb number er is prin printe ted d in two space spaces s for for alignm alignment ent and the number numbers s are are pri printe nted d in in the the order. order. */ printf("%2d", i);
14
}
15
printf("\n");
16
/*c is decremented by 1 */
17
c--;
18
}
19
return 0;
20
}
Download Code
Output:
1 22 333 4444 55555
Explanation: Here ‘i’ loop is used for printing the numbers in the respective rows and ‘k’ loop is used for providing spaces. ‘j’ loop prints the numbers. ‘c’ is decremented for numbers to be displayed in alternate columns.
Back to top
# Write C program to print the following pattern:
1
121 12321 1234321 123454321
Program: view source print? 01
#include
02
int main() {
03
/* c taken for columns */
04
int i, j, c = 9, m, k;
05
for (i = 1; i <= 5; i++) {
06
/* k is used for spaces */
07
for (k = 1; k <= c; k++) {
08 09
printf(" "); }
10 for for (j = 1; j <= i; j++) j++) { for (m = j - 2; m > 0; m--) { 11
prin printf tf(" ("%2 %2d" d",, j); j);
/* %2d ensures that the number
12
* is printed in two spaces
13
* for alignment */
14
printf("%2d", m);
15
}
16
printf("\n");
17
/* c is decremented by 2 */
18
c = c - 2;
}
19
}
20
return 0;
21
}
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 is used for printing numbers in reverse order.
Back to top
# Write a C program to display the following format:
-----ab -----15 24
33 42 51 ------
Program: view source print? 01
#include
02
int main() {
03
int i = 1, j = 5;
04
printf("----------\n");
05
printf("a \t b \n");
06
printf("----------\n");
07
/* logic: while loop repeats
08
* 5 times i.e. until
09
* the condition i<=5 fails */
10
while (i <= 5) {
11
/* i and j value printed */
12
printf("%d \t %d\n", i, j);
13
/* i and j value incremented
14
by 1 for every iteration */
15
i++;
16
j--;
17
}
18
printf("----------");
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 value 5. We keep incrementing the i’ value and decrementing the ‘j’ value until the condition fails. The value is displayed at each increment and at each decrement. Back to top
# Write a C program to display the following format:
-------no. sum --------
1 1 2 3 3 6 4 10 5 15 --------
Program: view source print? 01
#include
02
int main() {
03
int num = 1, sum = 0;
04
printf("-----------\n");
05
printf("num \t sum\n");
06
printf("-----------\n");
07
/* while loop repeats 5 times
08
* i.e. until the condition
09
* num <= 5 fails */
10
while (num <= 5) {
11
sum = sum + num;
12
printf("%d \t %d\n", num, sum);
13
/* num incremented by 1
14
* for every time
15
* the loop is executed */
16
num++;
17
}
18
printf("-----------");
19
return 0;
20
}
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 used 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 zero. 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:
* ** *** **** *** ** *
7. Write a C program to print the following pattern:
********* **** **** *** **
*** **
*
*
** ***
** ***
**** **** *********
8. 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 04int main() { 05 char prnt = '*';
06 int i, j, nos = 4, s; 07 for (i = 1; i <= 5; i++) { 08for (s = nos; s >= 1; s--) { // Spacing factor 09
printf(" ");
10 } 11 for (j = 1; j <= i; j++) { 12
printf("%2c", prnt);
13 } 14 printf("\n"); 15 --nos; // Controls the spacing factor 16 } 17 return 0; 18}
Download Code
Back to top
2. Write C program to print the following pattern:
* ***
* ***
** *** * **** ***********
Program:
view source print? 01#include 02int main() { 03 char prnt = '*'; 04 int i, j, k, s, c = 1, nos = 9; 05 for (i = 1; c <= 4; i++) { 06
// As we want to print the columns in odd sequence viz. 1,3,5,.etc
07 if ((i % 2) != 0) { 08
for (j = 1; j <= i; j++) {
09 printf("%2c", prnt); 10} 11for (s = nos; s >= 1; s--) { //The spacing factor 12
if (c == 4 && s == 1) {
13
break;
14
}
15
printf(" ");
16
}
17
for (k = 1; k <= i; k++) {
18
if (c == 4 && k == 5) {
19
break;
20
}
21
printf("%2c", prnt);
22
}
23 printf("\n"); 24
nos = nos - 4; // controls the spacing factor
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
02int main() { 03 char prnt = '*'; 04 int i, j, k, s, p, r, nos = 7; 05 06 for (i = 1; i <= 5; i++) { 07 for (j = 1; j <= i; j++) { 08 if ((i % 2) != 0 && (j % 2) != 0) { 09printf("%3c", prnt); 10} 11else if ((i % 2) == 0 && (j % 2) == 0) { 12printf("%3c", prnt); 13} 14else { 15printf(" "); 16} 17} 18for (s = nos; s >= 1; s--) { // for the spacing factor 19 printf(" "); 20 } 21 for (k = 1; k <= i; k++) { //Joining seperate figures 22if (i == 5 && k == 1) { 23 continue; 24} 25if ((k % 2) != 0) { 26printf("%3c", prnt); 27}
28else { 29printf(" "); 30} 31} 32printf("\n"); 33nos = nos - 2; // space control 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} 40else if ((p % 2) == 0 && (r % 2) == 0) { 41printf("%3c", prnt); 42} 43else { 44printf(" "); 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", prnt); }
54else { 55 56
printf(" "); }
57 } 58 nos = nos + 2; // space control 59 printf("\n"); 60 } 61 return 0; 62}
Download Code
Explanation: This can be seen as an inverted diamond composed of stars. It can be noted that the composition of this figure follows sequential pattern of consecutive stars and spaces.
In case of odd row number, the odd column positions will be filled up with ‘*’, else a space will be spaced and vice-versa in case of even numbered row.
In order to achieve this we will construct four different right angle triangles
aligned as per the requirement. Back to top
4. Write a C program to print the following pattern:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Program: view source print? 01#include 02int main() { 03 char prnt = '*'; 04 int i, j, s, nos = 0; 05 for (i = 9; i >= 1; (i = i - 2)) { 06 for (s = nos; 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
if ((i % 2) != 0 && (j % 2) != 0) {
27 28
printf("%2c", prnt); } else {
29 30
printf(" "); }
31 } 32 nos--; 33 printf("\n"); 34 } 35 return 0; 36}
Download Code Back to top
5. Write a C program to print the following pattern:
* *** ***** ******* ********* ******* ***** *** * *** *****
Program: view source print? 01#include 02int main() { 03 char prnt = '*'; 04 int i, j, k, s, nos = 4; 05 for (i = 1; i <= 5; i++) { 06for (s = nos; s >= 1; s--) { 07
printf(" ");
08 }
09 for (j = 1; j <= i; j++) { 10
printf("%2c", prnt);
11 } 12 for (k = 1; k <= (i - 1); k++) { 13if (i == 1) {
continue;
14} 15printf("%2c", prnt); 16} 17 printf("\n"); nos--; 18} 19 nos = 1; 20for (i = 4; i >= 1; i--) { 21 for (s = nos; s >= 1; s--) { 22
printf(" ");
23 } 24 for (j = 1; j <= i; j++) { 25
printf("%2c", prnt);
26 } 27 for (k = 1; k <= (i - 1); k++) { 28
printf("%2c", prnt);
29 } 30 nos++; 31 printf("\n"); 32 } 33 nos = 3; 34 for (i = 2; i <= 5; i++) {
35if ((i % 2) != 0) { 36for (s = nos; s >= 1; s--) { 37
printf(" ");
38
}
39
for (j = 1; j <= i; j++) {
40
printf("%2c", prnt);
41
}
42 } 43 if ((i % 2) != 0) { 44 printf("\n"); 45 nos--; 46 } 47 } 48 return 0; 49}
Download Code Back to top
6. Write a C program to print the following pattern:
* ** *** **** ***
** *
Program: view source print? 01/* 02
This can be seen as two right angle triangles sharing the same base
03
which is modified by adding few extra shifting spaces
04*/ 05#include 06// This function 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--) {
// Spacing factor
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
21 int i, nos = 5; 22 //draws the upper triangle 23 for (i = 1; i <= 4; i++) { 24 triangle(nos, i); 25 nos++;
//Inner loop construction // Increments the spacing factor
26 printf("\n"); } 27nos = 7; //Draws the lower triangle skipping its base. 28for (i = 3; i >= 1; i--) { 29 int j = 1; 30 triangle(nos, i); // Inner loop construction 31 nos = nos - j;
// Spacing factor
32 printf("\n"); 33 } 34 return 0; 35}
Download Code Back to top
7. Write a C program to print the following pattern:
********* **** **** *** ** *
*** ** *
**
**
***
***
**** **** *********
Program: view source print? 01#include 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
printf(" ");
12 } 13 for (k = 1; k <= i; k++) { 14
if (i == 5 && k == 5) {
15
continue;
16
}
17
printf("%2c", prnt);
18 }
19 nos = nos + 2; 20 printf("\n"); 21 } 22 nos = 5; 23 for (i = 2; i <= 5; i++) { 24 for (j = 1; j <= i; j++) { 25 printf("%2c", prnt); 26} 27for (s = nos; s >= 1; s--) { 28
printf(" ");
29 } 30 for (k = 1; k <= i; k++) { 31
if (i == 5 && k == 5) {
32
break;
33
}
34
printf("%2c", prnt);
35 } 36 nos = nos - 2; 37 printf("\n"); 38 } 39 return 0; 40}
Download Code Back to top
8. Write a C program to print the following pattern:
***************** * ** ** ** * ** ** ** *****
*****
***
***
********* ******* ***** *** *
Program: view source print? 01#include 02int main() { 03 char prnt = '*'; 04 int i, j, k, s, sp, nos = 0, nosp = -1; 05 for (i = 9; i >= 3; (i = i - 2)) { 06 for (s = nos; s >= 1; s--) { 07
printf(" ");
08 } 09 for (j = 1; j <= i; j++) { 10printf("%2c", prnt); 11}
12for (sp = nosp; sp >= 1; sp--) { 13
printf(" ");
14 } 15 for (k = 1; k <= i; k++) { 16 if (i == 9 && k == 1) { 17continue; 18} 19printf("%2c", prnt); 20} 21nos++; 22nosp = nosp + 2; 23printf("\n"); 24} 25nos = 4; 26for (i = 9; i >= 1; (i = i - 2)) { 27 for (s = nos; s >= 1; s--) { 28
printf(" ");
29 } 30 for (j = 1; j <= i; j++) { 31
printf("%2c", prnt);
32 } 33 nos++; 34 printf("\n"); 35 } 36 37 return 0;
38}
Download Code Back to top
9. Write a C program to print the following pattern:
* *** ***** ******* *
*
**
**
*** *** ******* *** *** **
**
*
*
******* ***** *** *
Program: view source print?
01#include 02/* 03 * nos = Num. of spaces required in the triangle. 04 * i = Counter for the num. of charcters to print in each row 05 * skip= A flag for checking whether to 06 *
skip a character in a row.
07 * 08 */ 09int triangle(int nos, int i, int skip) { 10 char prnt = '*'; 11 int s, j; 12 for (s = nos; s >= 1; s--) { 13 printf(" "); 14 } 15 for (j = 1; j <= i; j++) { 16 if (skip != 0) { 17
if (i == 4 && j == 1) {
18
continue;
19
}
20 } 21 printf("%2c", prnt); 22 } 23 return 0; 24} 25 26int main() {
27 int i, nos = 4; 28 for (i = 1; i <= 7; (i = i + 2)) { 29 triangle(nos, i, 0); 30 nos--; 31 printf("\n"); 32 } 33 nos = 5; 34 for (i = 1; i <= 4; i++) { 35triangle(1, i, 0); //one space needed in each case of the formation 36triangle(nos, i, 1); //skip printing one star in the last row. 37nos = nos - 2; 38printf("\n"); 39} 40nos = 1; 41for (i = 3; i >= 1; i--) { 42 triangle(1, i, 0); 43 triangle(nos, i, 0); 44 nos = nos + 2; 45 printf("\n"); 46 } 47 nos = 1; 48 for (i = 7; i >= 1; (i = i - 2)) { 49 triangle(nos, i, 0); 50 nos++; 51 printf("\n"); 52 }
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 02 03/* 04 * nos = Num. of spaces required in the triangle. 05 * i = Counter for the num. of characters to print in each row
06 * skip= A flag for check whether to 07 *
skip a character in a row.
08 * 09 */ 10 11int triangle(int nos, int i, int skip) { 12 char prnt = '*'; 13 int s, j; 14 for (s = nos; s >= 1; s--) { 15 printf(" "); 16 } 17 for (j = 1; j <= i; j++) { 18 if (skip != 0) { 19 if (i == 9 && j == 1) { 20 continue; 21 } 22 } 23if (i == 1 || i == 9) { 24 printf("%2c", prnt); 25} 26else if (j == 1 || j == i) { 27 printf("%2c", prnt); 28 } else { 29 printf(" "); 30} } 31return 0; }
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"); 49 nos--; 50 nosp = nosp - 2; 51 nbsp = nbsp - 2; 52 } 53 return 0; 54}
Number pattern programs # Write a C program to print the following pattern:
1 01 101 0101 10101
Program: view source print? 01
#include
02 03
int main(void) {
04
int i, j;
05
for (i = 0; i < 4; i++) {
06 07 08 09 10
for (j = 0; j <= i; j++) { if (((i + j) % 2) == 0) { // Decides on as to which digit to print. printf("0"); } else { printf("1");
11
}
12
printf("\t");
13
}
14
printf("\n");
15
}
16
return 0;
17
}
Download Code
Explanation: This is a right angle triangle composed of 0′s and 1′s. Back to top
End of Question1 Start of Question2 # Write C program to print the following pattern:
0 11 235 8 13 21
Program: view source print? 01
#include
02 03
int main(void) {
04
int i, j, a = 0, b = 1, temp = 1;
05
for (i = 1; i <= 4; i++) {
06
for (j = 1; j <= i; j++) {
07
if (i == 1 && j == 1) { // Prints the '0' individually first
08
printf("0");
09
continue;
10
}
11
printf("%d ", temp); // Prints the next digit in the series
12
//Computes the series
13
temp = a + b;
14
a = b;
15
b = temp;
16
if (i == 4 && j == 3) { // Skips the 4th character of the base
17
break;
18
}
19
}
20
printf("\n");
21
}
22
return 0;
23
}
Download Code
Explanation: This prints the Fibonacci series in a right angle triangle formation where the base has only three characters. Back to top
End of Question2 Start of Question3 # Write C program to print the following pattern:
1 121 12321 1234321 12321 121 1
Program: view source print? 01
#include
02 03
void sequence(int x);
04
int main() {
05
/* c taken for columns */
06
int i, x = 0, num = 7;
07
for (i = 1; i <= num; i++) {
08 09 10 11
if (i <= (num / 2) + 1) { x = i; } else { x = 8 - i;
12
}
13
sequence(x);
14
puts("\n");
15
}
16
return 0;
17
}
18 19
void sequence(int x) {
20
int j;
21 22
for (j = 1; j < x; j++) {
23
printf("%d", j);
24
}
25
for (j = x; j > 0; j--) {
26
printf("%d", j);
27
}
28
}
Download Code Back to top
End of Question3 Start of Question4 # Write a C program to print the following pattern:
2 456 6 7 8 9 10 456 2
Program: view source print? 01
#include
02 03 04
int main(void) { int prnt;
05 int i, j, k, r, s, sp, nos = 3, nosp = 2; //nos n nosp controls the spacing factor 06
// Prints the upper triangle
07
for (i = 1; i <= 5; i++) {
08 09 10
if ((i % 2) != 0) { for (s = nos; s >= 1; s--) { printf(" ");
11
}
12
for (j = 1; j <= i; j++) {
13
if (i == 5 && j == 5) { //Provides the extra space reqd betn 9 n 10
14
printf(" ");
// as 10 is a 2 digit no.
15
}
16
prnt = i + j;
17
printf("%2d", prnt);
18
}
19
}
20
if ((i % 2) != 0) {
21
printf("\n");
22
nos--;
23
}
24
}
25
// Prints the lower triangle skipin its base..
26
for (k = 3; k >= 1; k--) {
27
if ((k % 2) != 0) {
28
for (sp = nosp; sp >= 1; sp--) {
29
printf(" ");
30
}
31
for (r = 1; r <= k; r++) {
32
prnt = k + r;
33
printf("%2d", prnt);
34
}
35
}
36
if ((k % 2) != 0) {
37
printf("\n");
38
nosp++;
39
}
40
}
41
return 0;
42
}
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 = index 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 pattern:
1
1
333
333
55555
55555
7 77 77 77 7 77 77 77 55555 333
55555 333
1
1
Program: view source print? 01
#include
02 03
int main(void) {
04
int i, j, k, s, p, q, sp, r, c = 1, nos = 13;
05
for (i = 1; c <= 4; i++) {
06
if ((i % 2) != 0) { // Filters out the even line nos.
07
for (j = 1; j <= i; j++) { // The upper left triangle
08
printf("%2d", i);
09
}
10
for (s = nos; s >= 1; s--) { // The spacing factor
11
printf(" ");
12
}
13
for (k = 1; k <= i; k++) { // The upper right triangle
14
printf("%2d", i);
15
}
16
printf("\n");
17
nos = nos - 4; // Space control
18
++c;
19
}
20
}
21
nos = 10; // Space control re intialized
22
c = 1;
23
for (p = 5; (c < 4 && p != 0); p--) {
24
if ((p % 2) != 0) { // Filters out the even row nos
25
for (q = 1; q <= p; q++) { // Lower left triangle
26
printf("%2d", p);
27
}
28
for (sp = nos; sp >= 1; sp--) { // Spacing factor
29
printf(" ");
30
}
31
for (r = 1; r <= p; r++) { // Lower right triangle
32 33
printf("%2d", p); }
34 35
printf("\n");
36
--c;
37 38 39
nos = nos + 8; // Spacing control. } }
40 41 42
return 0; }
Download Code
Explanation: Here we are printing only the odd row nos along with thier respective line number. This structure can divided into four identical right angle triangles which are kind of twisted and turned placed in a particular format . Back to top
End of Question5 Start of Question6 # Write a C program to print the following pattern:
0 -2-3 0 -4-3-2-1 0 -2-3 0 0
Program: view source print?
01
#include
02 03
int main(void) {
04
int i, j, k, r, s, sp, nos = 2, nosp = 1;
05
for (i = 1; i <= 5; i++) {
06 07
if ((i % 2) != 0) { for (s = nos; s >= 1; s--) { //for the spacing factor.
08
printf(" ");
09
}
10
for (j = 1; j <= i; j++) {
11 12
printf("%2d", j-i); }
13
}
14
if ((i % 2) != 0) {
15
printf("\n");
16
nos--;
17
}
18
}
19
for (k = 3; k >= 1; k--) {
20 21 22
if ((k % 2) != 0) { for (sp = nosp; sp >= 1; sp--) { // for the spacing factor. printf(" ");
23
}
24
for (r = 1; r <= k; r++) {
25 26
printf("%2d", r-k); }
27
}
28
if ((k % 2) != 0) {
29
printf("\n");
30
nosp++;
31
}
32
}
33
return 0;
34
}
Download Code
Explanation:This can be seen as a diamond composed of numbers. If we use the conventional nested for loop for its construction the numbers can be seen to flowing the following function f(x) -> j-i where j= inner loop index i= outer loop index Back to top
End of Question6 Start of Question7 # Write a C program to print the following pattern:
77777777777 7 7 7 7
7 7 7 7 7 7
Program: view source print? 01
#include
02 03
int main(void) {
04
int i, j;
05
for (i = 11; i >= 1; i--) {
06
for (j = 1; j <= i; j++) {
07
if (i == 11) {
08
printf("7"); // Makes sure the base is printed completely
09
continue;
10 11 12 13 14
} else if (j == i) { // Hollows the rest printf("7"); } else { printf(" "); }
15
}
16
printf("\n");
17
}
18
return 0;
19
}
Download Code
Explanation: This can be seen as a hollow right-angled triangle composed of 7′s Back to top
End of Question7 Start of Question8 # Write a C program to print the following pattern:
1 10 101 1010 10101
1 10 101 1010 10101
1 01 01 0 1 01 01 0 1010101010101 1 01 01 0 1 01 01 0 10101 1010 101 10 1
10101 1010 101 10 1
Program: view source print? 01
#include
02 03
int main(void) {
04
int i,j,k,s,nos=11;
05
for (i=1; i<=7; i++) {
06
for (j=1; j<=i; j++) {
07
if ((j%2)!=0) { // Applying the condition
08
printf(" 1");
09
} else {
10
printf(" 0");
11
}
12
}
13
for (s=nos; s>=1; s--) { // Space factor
14
printf(" ");
15
}
16
for (k=1; k<=i; k++) {
17
if(i==7 && k==1) // Skipping the extra 1
18
{
19
continue;
20
}
21
if ((k%2)!=0) { // Applying the condition
22 23
printf(" 1"); } else {
24
printf(" 0");
25
}
26
}
27
printf("\n");
28
nos=nos-2; // Space Control
29
}
30
nos=1;
31
for ( i=6; i>=1; i--) { // It shares the same base
32
for (j=1; j<=i; j++) {
33
if (j%2!=0) {
34
printf(" 1");
35
} else {
36
printf(" 0");
37
}
38
}
39
for(s=nos; s>=1; s--) // Spacing factor
40
{
41
printf(" ");
42
}
43
for (k=1; k<=i; k++) {
44
if (k%2!=0) {
45
printf(" 1");
46
} else {
47
printf(" 0");
48 49
} }
50
printf("\n");
51
nos=nos+2;
52
}
53 54
return 0; }
Download Code Back to top
End of Question8 Start of Question9 # Write a C program to print the following pattern:
1 24 369 24 1
Program: view source print? 01
#include
02
int main(void) {
03
int i,j;
04
for (i=1; i<=3 ; i++) {
05
for (j=1; j<=i; j++) {
06
printf("%2d", (i*j));
07
}
08
printf("\n");
09
}
10
for (i=2; i>=1; i--) { // As they share the same base
11
for (j=1; j<=i; j++) {
12
printf("%2d",i*j);
13
}
14
printf("\n");
15
}
16
return 0;
17
}
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
10 100 1000 10000 100000 1000000 100000 10000 1000 100 10 1
Program: view source print? 01
#include
02 03
int main(void) {
04
int i,j;
05
for (i=1; i<=7; i++) {
06 07 08 09 10
for (j=1; j<=i; j++) { if (j==1) { printf(" 1"); } else { printf(" 0");
// Applying the condition
11
}
12
}
13
printf("\n");
14
}
15
for (i=6; i>=1; i--) { //As it shares the same base i=6
16
for (j=1; j<=i; j++) {
17
if (j==1) { // Applying the condition
18
printf(" 1");
19
} else {
20
printf(" 0");
21
}
22
}
23
printf("\n");
24
}
25
return 0;
26
}
Download Code
Explanation: This can be seen as two right angle triangles sharing the same base which is composed of 0′s n 1′s. The first column is filled with 1′s and rest with 0′s