Sie sind auf Seite 1von 59

Number problems in C

# Write C program to print the following pattern:

22

333

4444

55555

Program:

view source

print?

01 #include<stdio.h>

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 /* %2d ensures that the number is printed in

12 two spaces for alignment and the numbers are printed in the order. */
13 printf("%2d", i);

14 }

15 printf("\n");

16 /*c is decremented by 1 */

17 c--;

18 }

19 return 0;

20 }

Download Code

Output:

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<stdio.h>

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 printf(" ");

09 }

10 for (j = 1; j <= i; j++) { printf("%2d", j); } for (m = j - 2; m > 0; m--) {

11 /* %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:

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<stdio.h>

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 return 0;

20 }

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<stdio.h>

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 <stdio.h>

04 int main() {

05 char prnt = '*';

06 int i, j, nos = 4, s;

07 for (i = 1; i <= 5; i++) {

08 for (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<stdio.h>

02 int 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 }
11 for (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<stdio.h>

02 int 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) {

09 printf("%3c", prnt);

10 }

11 else if ((i % 2) == 0 && (j % 2) == 0) {


12 printf("%3c", prnt);

13 }

14 else {

15 printf(" ");

16 }

17 }

18 for (s = nos; s >= 1; s--) { // for the spacing factor

19 printf(" ");

20 }

21 for (k = 1; k <= i; k++) { //Joining seperate figures

22 if (i == 5 && k == 1) {

23 continue;

24 }

25 if ((k % 2) != 0) {

26 printf("%3c", prnt);

27 }

28 else {

29 printf(" ");

30 }

31 }

32 printf("\n");

33 nos = nos - 2; // space control

34 } nos = 1; // remaining half..

35 for (p = 4; p >= 1; p--) {

36 for (r = 1; r <= p; r++) {


37 if ((p % 2) != 0 && (r % 2) != 0) {

38 printf("%3c", prnt);

39 }

40 else if ((p % 2) == 0 && (r % 2) == 0) {

41 printf("%3c", prnt);

42 }

43 else {

44 printf(" ");

45 }

46 }

47 for (s = nos; s >= 1; s--) {

48 printf(" ");

49 }

50 for (k = 1; k <= p; k++) {

51 if ((k % 2) != 0) {

52 printf("%3c", prnt);

53 }

54 else {

55 printf(" ");

56 }

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<stdio.h>

02 int 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 if ((i % 2) != 0 && (j % 2) != 0) {

11 printf("%2c", prnt);

12 } else {

13 printf(" ");

14 }

15 }

16 printf("\n");

17 nos++;

18 }

19 nos = 3;

20 for (i = 3; i <= 9; (i = i + 2)) {


21 for (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 printf("%2c", prnt);

28 } else {

29 printf(" ");

30 }

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<stdio.h>

02 int main() {

03 char prnt = '*';

04 int i, j, k, s, nos = 4;

05 for (i = 1; i <= 5; i++) {

06 for (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++) {

13 if (i == 1) { continue;
14 }

15 printf("%2c", prnt);

16 }

17 printf("\n"); nos--;

18 }

19 nos = 1;

20 for (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++) {

35 if ((i % 2) != 0) {

36 for (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 <stdio.h>

06 // This function controls the inner loop and the spacing

07 // factor guided by the outer loop index and the spacing index.

08 int 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++) { //The inner loop

15 printf("%2c", prnt);

16 }

17 return 0;

18 }

19

20 int main() {

21 int i, nos = 5;

22 //draws the upper triangle


23 for (i = 1; i <= 4; i++) {

24 triangle(nos, i); //Inner loop construction

25 nos++; // Increments the spacing factor

26 printf("\n"); }

27 nos = 7; //Draws the lower triangle skipping its base.

28 for (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 <stdio.h>

02

03 int 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 }

10 for (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 }

27 for (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 <stdio.h>

02 int 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++) {


10 printf("%2c", prnt);

11 }

12 for (sp = nosp; sp >= 1; sp--) {

13 printf(" ");

14 }

15 for (k = 1; k <= i; k++) {

16 if (i == 9 && k == 1) {

17 continue;

18 }

19 printf("%2c", prnt);

20 }

21 nos++;

22 nosp = nosp + 2;

23 printf("\n");

24 }

25 nos = 4;

26 for (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 <stdio.h>

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 */

09 int 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

26 int 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++) {

35 triangle(1, i, 0); //one space needed in each case of the formation

36 triangle(nos, i, 1); //skip printing one star in the last row.

37 nos = nos - 2;

38 printf("\n");

39 }

40 nos = 1;

41 for (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 <stdio.h>

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

11 int 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 }

23 if (i == 1 || i == 9) {
24 printf("%2c", prnt);

25 }

26 else if (j == 1 || j == i) {

27 printf("%2c", prnt);

28 } else {

29 printf(" ");

30 } }

31 return 0; }

32 int main() {

33 int i, nos = 0, nosp = -1, nbsp = -1;

34 for (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:

01

101

0101

10101

Program:

view source

print?

01 #include <stdio.h>

02

03 int main(void) {

04 int i, j;
05 for (i = 0; i < 4; i++) {

06 for (j = 0; j <= i; j++) {

07 if (((i + j) % 2) == 0) { // Decides on as to which digit to print.

08 printf("0");

09 } else {

10 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:

11

235
8 13 21

Program:

view source

print?

01 #include <stdio.h>

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:

121

12321

1234321

12321

121

Program:

view source

print?

01 #include <stdio.h>

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 if (i <= (num / 2) + 1) {

09 x = i;

10 } else {

11 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:

456

6 7 8 9 10

456

Program:

view source

print?

01 #include <stdio.h>

02

03 int main(void) {

04 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 if ((i % 2) != 0) {
09 for (s = nos; s >= 1; s--) {

10 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

7777777 7777777
55555 55555

333 333

1 1

Program:

view source

print?

01 #include <stdio.h>

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 printf("%2d", p);

33 }

34

35 printf("\n");

36 --c;

37 nos = nos + 8; // Spacing control.

38 }

39 }

40

41 return 0;

42 }
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:

-2-3 0

-4-3-2-1 0

-2-3 0

Program:

view source

print?

01 #include <stdio.h>

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 if ((i % 2) != 0) {

07 for (s = nos; s >= 1; s--) { //for the spacing factor.


08 printf(" ");

09 }

10 for (j = 1; j <= i; j++) {

11 printf("%2d", j-i);

12 }

13 }

14 if ((i % 2) != 0) {

15 printf("\n");

16 nos--;

17 }

18 }

19 for (k = 3; k >= 1; k--) {

20 if ((k % 2) != 0) {

21 for (sp = nosp; sp >= 1; sp--) { // for the spacing factor.

22 printf(" ");

23 }

24 for (r = 1; r <= k; r++) {

25 printf("%2d", r-k);

26 }

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
Program:

view source

print?

01 #include <stdio.h>

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 } else if (j == i) { // Hollows the rest

11 printf("7");

12 } else {

13 printf(" ");

14 }

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 1

10 10

101 101

1010 1010

10101 10101

101010 101010

1010101010101

101010 101010

10101 10101

1010 1010

101 101

10 10

1 1

Program:

view source

print?

01 #include <stdio.h>
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 printf(" 1");

23 } 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 return 0;

54 }

Download Code

Back to top

End of Question8 Start of Question9

# Write a C program to print the following pattern:

24

369

24

Program:

view source

print?

01 #include <stdio.h>

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

Program:

view source

print?

01 #include <stdio.h>

02

03 int main(void) {

04 int i,j;

05 for (i=1; i<=7; i++) {

06 for (j=1; j<=i; j++) {

07 if (j==1) { // Applying the condition

08 printf(" 1");

09 } else {
10 printf(" 0");

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

Das könnte Ihnen auch gefallen