本次七个实验中我对第一个实验最为熟悉,今天我就为大家介绍一下我的第一个实验的看法和反思
首先先放上代码
#include<stdio.h> int main() { int x,y,z,width; printf("请输入最大的宽度值: "); scanf("%d",&width); for(x=1;x<=width;x++) { for(y=1;y<=(width-x);y++) printf(" "); for(z=1;z<=(2*i-1);z++) printf("*"); printf(" "); } for(x=1;x<=(width-1);x++) { for(y=1;y<=x;y++) printf(" "); for(z=1;z<=(2*width-2*x-1);z++) printf("*"); printf(" "); } }
该图形可以分成两个部分一个尖端向上的五行的等腰三角形
另一个是尖端向下的四行的等腰三角形
这个三角形的分割完成以后就应该分析如何表达出这个三角形
以上一个三角形不只是一个等腰三角形
而是等腰三角形和周边的空白,如此一来就是一个等腰三角形加上两个直角三角形
for(y=1;y<=(width-x);y++) printf(" "); for(z=1;z<=(2*x-1);z++) printf("*"); printf(" ");
这段代码就是上部分的等腰三角形表示,y代表这空格,x代表着行数,z是*,如此一来width-x即是最宽的一行空格的位置
将图像分成上下两个部分考虑,中间部分有width行,可以用循环结构表示
结果显示:
心得感想:图形不管怎么变,都是万变不离其宗
1。每一个复杂的图形都是由简单的等腰三角形或者矩形填充上“ * ”或者“ ”而组成的,关键就是要用不同的字母表示,并且分析他们之间的数量关系。
2.遇上难的图形,需要用分割法把图形分割,然后就会发现一个个拆开的图形是我们熟悉的图形。
3.在输入的时候我常常在看书,说明了对循环语句的不熟悉,需要加强练习。
课后反思
十分感谢方缙同学,在我做完之后,看了方缙同学的博客,发现了我的代码中一些小错误,解决了我其他图形的上的困难
(https://i.cnblogs.com/EditPosts.aspx?opt=1)