C语言典型例题——关于图形输出

C语言典型例题——关于图形输出
C语言典型例题——关于图形输出

在C语言学习中我们会遇到各种输出图形的题目,下面我们就来看一些这种题目。

一、编写程序输出下图所示的图形。

(1)(2)(3)(11)

下面我们分别以i、j、k分别表示行数,空格数,星号数。

(1)i j k (2) i j k (3) i j k

1 0 1 1 6 1 1 0 9

2 0 2 2 5 2 2 1 7

3 0 3 3

4 3 3 2 5

4 0 4 4 3 4 4 3 3

5 0 5 5 2 5 5 4 1

6 0 6 6 1 6 j<=i-1

7 0 7 7 0 7 k<=11-2*i

K<=i j<=7-i

K<=i

发现行数、空格、星号有如上关系,用for循环便可实现。

(1)

#include"stdio.h"

void main()

{int i,j;

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

{for(j=1;j<=i;j++) printf("*");

printf("\n");

}

}

(2)

#include"stdio.h"

void main()

{int i,j,k;

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

{for(j=1;j<=7-i;j++) printf(" ");

for(k=1;k<=i;k++) printf("*");

printf("\n");

}

}

(3)

#include"stdio.h"

void main()

{int i,j,k;

for(i=1;i<=6;i++)

{for(j=1;j<=i-1;j++) printf(" ");

for(k=1;k<=11-2*i;k++) printf("*");

printf("\n");

}

}

然后我们在进行扩展。编写程序输出如下图型。

(4)(5)(6)所编程序如下:

(4)

#include"stdio.h"

void main()

{int i,j,k;

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

{for(j=1;j<=8-i;j++) printf("*");

printf("\n");

}

}

(5)

#include"stdio.h"

void main()

{int i,j,k;

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

{for(j=1;j<=i-1;j++) printf(" ");

for(k=1;k<=8-i;k++) printf("*");

printf("\n");

}

}

(6)

#include"stdio.h"

void main()

{int i,j,k;

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

{for(j=1;j<=7-i;j++) printf(" ");

for(k=1;k<=2*i-1;k++) printf("*");

printf("\n");

}

}

下面我们再来分析组合图形。对于组合图形,我们应该把它分成一块一块图形,然后按顺序编写每一块图形的程序,然后组合在一起再进行输出。

二、编写程序输出如下图型。

(7)(8)(9)(10)

编写程序如下:

(7)

#include"stdio.h"

void main()

{int i,j,k;

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

{for(j=1;j<=4-i;j++) printf(" ");

for(k=1;k<=2*i-1;k++) printf("*");

printf("\n");

}

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

{for(j=1;j

for(k=1;k<=7-2*i;k++) printf("*");

printf("\n");

}

}

(8)

#include"stdio.h"

void main()

{int i,j,k;

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

{for(j=1;j<=5-i;j++) printf(" ");

for(k=1;k<=i;k++) printf("*");

printf("\n");

}

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

{for(k=1;k<=5-i;k++) printf("*");

printf("\n");

}

}

(9)

#include"stdio.h"

void main()

{int i,j;

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

{for(j=1;j<=i;j++) printf("*");

printf("\n");

}

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

{for(j=1;j<=5-i;j++) printf("*");

printf("\n");

}

}

(10)

#include"stdio.h"

void main()

{int i,j,k;

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

{for(j=1;j<=5-i;j++) printf(" ");

for(k=1;k<=i;k++) printf("*");

printf("\n");

}

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

{for(j=0;j<=i-1;j++) printf(" ");

for(k=1;k<=5-i;k++) printf("*");

printf("\n");

}

}

最后我们再来编两个有趣的程序,编写程序输出图(11)[在第一页]与图(12)树状图形。

(12)

(11)

#include"stdio.h"

void main()

{int i,j,k;

for(i=1;i<=6;i++)

{for(j=1;j<=6-i;j++) printf(" ");

for(k=1;k<=2*i-1;k++) printf("*");

printf("\n");

}

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

{for(j=1;j<=5;j++) printf(" ");

for(k=1;k<=1;k++) printf("*");

printf("\n");

}

printf(" * *\n");

printf(" **\n");

}

(12)

#include"stdio.h"

void main()

{int i,j,k;

for(i=1;i<=3;i++)

{for(j=1;j<=11-i;j++) printf(" ");

for(k=1;k<=2*i-1;k++) printf("*");

printf("\n");

}

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

{for(j=1;j<=11-i;j++) printf(" ");

for(k=1;k<=2*i-1;k++) printf("*");

printf("\n");

}

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

{for(j=1;j<=11-i;j++) printf(" ");

for(k=1;k<=2*i-1;k++) printf("*");

printf("\n");

}

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

{for(j=1;j<=9;j++) printf(" ");

for(k=1;k<=3;k++) printf("*");

printf("\n");

}

for(i=1;i<=2;i++)

{for(k=1;k<=21;k++) printf("*");

printf("\n");

}

}

从上边一系列此类图形输出编程无非就是找行数、空格数及星号数之间的关系,在进行一系列组合便能输出更为复杂的图形。亲爱的同学希望这对你能有所帮助。

相关主题
相关文档
最新文档