为什么做电子商务网站的原因,珠海专业医疗网站建设,沈阳核工业建设工程总公司网站,做网站推广公司一、打印下面的图形#xff08;菱形#xff09;
我们可以先来看一个简单点的菱形#xff1a; 输入描述#xff1a; 输入一个char类型字符 输出描述#xff1a; 输出一个用这个字符填充的对角线长5个字符#xff0c;倾斜放置的菱形#xff1a;
1、思路#xff1a;
我…一、打印下面的图形菱形
我们可以先来看一个简单点的菱形 输入描述 输入一个char类型字符 输出描述 输出一个用这个字符填充的对角线长5个字符倾斜放置的菱形
1、思路
我们看到这个图形可以直接打印出来这个方法也是最简单的
#includestdio.h
int main()
{char ch;scanf(%c, ch);printf( %c\n, ch);printf( %c%c%c\n, ch,ch,ch);printf(%c%c%c%c%c\n,ch,ch, ch, ch, ch);printf( %c%c%c\n, ch, ch, ch);printf( %c\n, ch);return 0;
}通过我们敲代码的过程可以发现这种敲法太累了不能节省时间。所以我们可以仔细看看这题发现图形中的规律。 我们可以分成上下两个部分来发现规律首先定义一个变量i用它来表示行数这里我是从0开始计算的所以我们i的初值就赋值成0。第0行的时候空格有2个符号有1个第1行的时候空格有1个符号有3个第2行的时候空格有0个符号有5个这就是上半部分的规律。
附一个图便于理解 我们再来看看下半部分 我们依然可以从0开始算行数一共有1行。 然后我们可以发现空格与行数之间的关系以下半部分为例
行数是0空格可以用1乘以01表示也就是1*行数1这个式子对于第1行也同样适用所以我们的规律找到了符号也是如此去寻找规律。
2、代码
#includestdio.h
int main()
{char ch;scanf(%c, ch);int i 0;//上半部分for (i 0; i 3; i) //3是上半部分的行数{//根据图形我们先要打印空格for (int j 0; j 2-i; j)//j是我们打印多少个空格{printf( );}//打印符号for (int j 0; j 2 * i 1; j){printf(%c, ch);}printf(\n);}//打印下半部分for (i 0; i 3; i){//空格for (int j 0; j 1 * i 1; j){printf( );}//字符for (int j 0; j 2 * (2 - i) - 1; j){printf(%c, ch);}printf(\n);}return 0;
}输入一个字符# 我们可以发现这个方法比直接输出要难理解许多而且写的也很多但是直接输出有很大的弊端如果像下面这个图形的话就不能简单的直接输出了。
3、菱形大 像这种图形就不适合一个一个的输出这就需要我们去找规律也是一样分成上下部分去找。 发现规律的原则是一样的大家可以自己下去找找看。
4、代码
#includestdio.h
int main()
{char ch;scanf(%c, ch);int i 0;for (i 0; i 7; i){for (int j 0; j 6-i; j){printf( );}for (int j 0; j 2 * i 1; j){printf(%c, ch);}printf(\n);//换行每打印完一行要换行}for (int i 0; i 7; i){for (int j 0; j i 1; j){printf( );}for (int j 0; j 2 * (6 - i)-1; j){printf(%c, ch);}printf(\n);}return 0;
}二、不知道行数的情况下自己输入行数
上面的代码写完之后我们可以发现每个代码都需要我们自己输入行数但如果题目没有告诉行数就让我们输出菱形我们该如何写其实只需要用一个字母代表上面那些代码中的数字就行了但是我们只需要输入菱形图一半的行数就可以了。
#includestdio.h
int main()
{char ch;scanf(%c, ch);int n 0;scanf(%d, n);for (int i 0; i n; i){for (int j 0; j n - 1 - i; j){printf( );}for (int j 0; j 2 * i 1; j){printf(%c, ch);}printf(\n);}for (int i 0; i n; i){for (int j 0; j i1; j){printf( );}for (int j 0; j 2 * (n - 1 - i) - 1; j){printf(%c, ch);}printf(\n);}return 0;
}老样子最后附上一张图片吧希望大家喜欢