打印菱形(C语言)

这篇具有很好参考价值的文章主要介绍了打印菱形(C语言)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

打印菱形

c语言打印菱形,c语言,开发语言,算法
首先,可以将菱形分成上下两部分

上部分;
总行数 line
1.先打印空格,从图中可以发现:
左侧空格数由(line -1)每次减少一个,到0为止。(右侧同理)
2.后打印*,从图中可以发现:
*的个数从1开始每次增加2个 ->  (2*i+1)

代码如下

    int line = 0;
	scanf("%d", &line);
	//上部分
	int i = 0;
	for (i = 0; i < line; i++)
	{
		int j = 0;
		//打印空格
		for (j = 0; j < line - 1 -i; j++)
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
下部分;
总行数 line-1
1.先打印空格,左侧空格数从1开始每次增加1个,直到 (line-1) 个停止打印(右侧同理)
2.后打印*,*的个数从 2*(line-1-i)-1 开始,每次减2,直到1停止打印

代码如下

//下部分
	for (i = 0; i < line - 1; i++)
	{
		int j = 0;
		//打印空格
		for (j = 0; j <= i; j++)
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * (line - 1 - i)-1; j++)
		{
			printf("*");
		}
		printf("\n");
	}

完整代码

#include<stdio.h>
int main()
{
	int line = 0;
	scanf("%d", &line);
	//上部分
	int i = 0;
	for (i = 0; i < line; i++)
	{
		int j = 0;
		//打印空格
		for (j = 0; j < line - 1 -i; j++)
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	//下部分
	for (i = 0; i < line - 1; i++)
	{
		int j = 0;
		//打印空格
		for (j = 0; j < i+1; j++)
		{
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * (line - 1 - i)-1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

c语言打印菱形,c语言,开发语言,算法文章来源地址https://www.toymoban.com/news/detail-737479.html

到了这里,关于打印菱形(C语言)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python打印菱形

    打印菱形 方法一: 效果:   方法二: 打印 空心菱形 需要加上if else 语句 其他代码和打印菱形相同 效果:  打印此图形重点在于打印对角线 需要在if条件原有的基础上加上相应条件 (i == layer//2+1 or j == i )   效果:  

    2024年02月08日
    浏览(24)
  • 用python打印出菱形图案

    你可以使用Python编写一个简单的函数来打印菱形图案。下面是一个例子,这个函数接受一个参数 n ,表示菱形的高度,然后打印出一个菱形图案: def print_diamond(n):     # 上半部分     for i in range(n):         print(\\\" \\\" * (n - i - 1) + \\\"*\\\" * (2 * i + 1))     # 下半部分     for

    2024年02月05日
    浏览(24)
  • Java代码打印空心菱形(小练习)

    回看基础 利用Java代码打印一个空心菱形 运行结果如图:

    2024年02月15日
    浏览(27)
  • Java用for循环打印三角形菱形

    目录   一、打印矩形  二、打印直角三角形 1.直角三角形  2.打印九九乘法表  三、打印等腰三角形  四、打印平行四边形  五、打印菱形  六、打印两个直角三角形 1.打印两个直角三角形  2.打印倒着的两个直角三角形 七、打印“蝴蝶”   一、打印矩形 运行结果:  二、

    2024年04月25日
    浏览(25)
  • c语言经典例题讲解(输出菱形,喝汽水问题)

    目录 一、输出菱形 二、喝汽水问题 方法1:一步一步来   方法二:直接套公式   输出类似于下图的菱形:    通过分析:1、先分为上下两部分输出                    2.在输出前先输出空格                   3.找规律进行输出 可知,可令上半部分line行,下半部分便是

    2024年02月13日
    浏览(23)
  • 在二叉树中查找值为 x的结点,试编写算法(用 C语言)打印值为 X 的结点的所有祖先,假设值为x的结点不多于一个。

    分析: 两种思路,递归和非递归。 思路: 考虑递归,当前结点值不等于 x 时,递归其左右子树,如果两者有一个返回值为 true,则说明当前结点为 x 的祖先结点,直接打印。 思路: 非递归,因为在遇到 x 的时候需要将其所有祖先打印,而当访问到 x 且能保留x 的祖先的方法

    2024年02月03日
    浏览(22)
  • 【C++历险记】面向对象|菱形继承及菱形虚拟继承

    个人主页:兜里有颗棉花糖💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【C++之路】💌 本专栏旨在记录C++的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长,共同进步。🍓 单继承:一个子类 只有一个直接父类 时称这个继承

    2024年02月10日
    浏览(29)
  • 【C++】复杂的菱形继承 及 菱形虚拟继承的底层原理

    在上一篇文章中,我们给大家演示的其实都是单继承。 单继承的概念: 单继承:一个子类只有一个直接父类的继承关系为单继承 然后呢C++里面还支持多继承,那什么是多继承呢? 一个子类有两个或以上直接父类时称这个继承关系为多继承 比如一个类表示汽车,另一个类表

    2024年02月16日
    浏览(43)
  • C++三大特性—继承“复杂的菱形继承及菱形虚拟继承”

    C++的一个大坑:菱形继承 希望这篇文章能让你理解什么是菱形继承,以及菱形继承的注意事项 单继承:一个子类只有一个直接父类时称这个继承关系为单继承 多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承  java语言不支持多继承,只支持单继承。 菱形

    2024年02月03日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包