C语言循环这个图形 怎么输入

Python013

C语言循环这个图形 怎么输入,第1张

#include <stdio.h>

int main(){

int i,j

printf("打印图形一:\n")

for(i=0i<4i++)

{

for(j=4-ij>1j--)

printf(" ")

for(j=0j<i*2+1j++)

printf("%c",j+'A')

printf("\n")

}

printf("\n打印图形二:\n")

for(i=0i<4i++)

{

for(j=4-ij>1j--)

printf(" ")

for(j=0j<i*2+1j++)

printf("%c",i+'A')

printf("\n")

}

printf("\n打印图形三:\n")

for(i=0i<4i++)

{

for(j=4-ij>1j--)

printf(" ")

for(j=0j<i*2+1j++)

printf("%c",'D'-i)

printf("\n")

}

return 0

}

说下什么编程环境?

TC 还是mc++6.

这可以做,简单 把你己有的*号图形写成独立的输出函数,

我想你也是用printf加空格试出来的吧,在主程序调用就行.

#include <stdio.h>

#include <windows.h>//TC不用这头文件

#include <conio.h>

void yourprintf1(void){

/*

这里加你自己的*号图形代码

*/

printf("        *\n")

printf("       ***\n")

printf("      *****\n")

}

void yourprintf2(void){

/*

这里加你自己的*号图形代码

*/

printf("    ******\n")

printf("    *    *\n")

printf("    *    *\n")

printf("    *    *\n")

printf("    ******\n")

}

void yourprintf3(void){

/*

这里加你自己的*号图形代码

*/

}

void yourprintf4(void){

/*

这里加你自己的*号图形代码

*/

}

main(){

do{

system("cls")

yourprintf1()

Sleep(1000)//vc用这个

delay(1000)//tc用这个

getch()

system("cls")

yourprintf2()

Sleep(1000)//vc用这个

delay(1000)//tc用这个

system("cls")

yourprintf3()

Sleep(1000)//vc用这个

delay(1000)//tc用这个

system("cls")

yourprintf4()

Sleep(1000)//vc用这个

delay(1000)//tc用这个

}while(getch()!='q')//按q退出图形循环,不然一直循环显示.

}

我只简单画了三角形和方形,

只要你自己有空用printf试好另外再复杂的图形加入上面4个自定义的打印函数里就行.

看下效果:

看到图就进来了?

进来了你就来对了!

本篇文章花了大量文笔来教你怎么一步步的写不出来这个图形,对的,这个图形本文教不了,但是本文将揭示循环打印的内幕,让你对几种常见情况了熟于心。

一般地,打印图形一般使用for循环: for (initializetestupdate)

2个循环嵌套,一个控制行一个控制列:

外层循环用于控制行(内嵌for循环控制列和换行符),一般的打印图形,行数是固定不变的(即外层循环的所有参数不变)。改变的是内层循环(一行打印几列),通常是两种情况:改变 初始值 循环条件

由此我们可以得出一些结论:

对于 int x

有上三角:

有下三角:

由表可知:

由此我们可以轻松的输出九九乘法表:

上一节我们了解了,想要改变循环打印图形的情况,只需改变内层循环的 初始值 循环条件 即可。那么,这两种情况真的是一模一样吗?来几个例题一探究竟!

注意观察同样是上三角,输出的内容的不同。

在这里我们只考虑内层循环的值的变化,其中的算法暂不考虑。

规律总结:

前两节仅讨论了单值类型以及只包含一个嵌套循环的程序设计,这节讨论更复杂的程序结构和算法。(为了讨论方便,每次编码都 只改变初始值

注意上面两个图形中,空格和星号的算法是相反的。至此,上下左右四种三角*已经全部列出。

采用自顶向下的方法来分析本程序的算法:

首先删除空格输出的循环控制

然后我们就得到了星号的输出格式:每行2n+1个。

采用改变初始值的方式,即: for(j = ROW - (2 * i +1)j <ROWj++) putchar('*')

接着,在输出星号之前加入空格输出,为递减输出,即: for(j = ij <ROWj++) putchar(' ')

再难一点:

还能不能再难一点?——可以,来一个平行四边形!

待补充。

最后再来一个装比一点的: