打印 菱形

打印一个任意奇数行的菱形

cs 复制代码
#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
//打印菱形
int main()
{
	int n = 0;
	scanf("%d", &n);
	//打印上半部分
	int line = n / 2+1;
	int i = 0;
	for (i = 0;i < line;i++)//打印line行
	{
		int j = 0;
		for (j = 0;j < -i+line-1;j++)
		{
			printf(" ");
		}
		int k = 0;
		for (k = 0;k <( 2 * i + 1);k++)
		{
			printf("*");
		}
		printf("\n");
	}
	//打印下半部分
	for (i = 0;i < line - 1;i++)
	{
		int j = 0;
		for (j = 0;j < i+1;j++)
		{
			printf(" ");
		}
		int k = 0;
		for (k = 0;k < -2 * i + 2*line-3;k++)//输入为n是最多的*有2*line-1,所以比他少一行应该少两个*,就是2*line-3,带入差为2,递减的数列中。
		{
			printf("*");
		}
		printf("\n");
	}
	printf("\n");
	return 0;
}
相关推荐
SunnyByte21 小时前
C语言——贪吃蛇的实现
c语言·单链表·贪吃蛇
笨笨饿1 天前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发
weixin_421725261 天前
C语言中volatile关键字怎么用C语言volatile在多线程中的作用
c语言·数据结构·运算符优先级·变量命名·volatile关键字
星河耀银海1 天前
C语言与数据库交互:SQLite实战与数据持久化
c语言·数据库·sqlite·交互
05候补工程师1 天前
【408 从零到一】线性表逻辑特征、存储结构对比与 C/C++ 动态内存分配避坑指南
c语言·开发语言·数据结构·c++·考研
傻瓜搬砖人1 天前
第五章习题
c语言·谭浩强·绿皮书第三版
华清远见成都中心1 天前
C 语言内存管理深度解析:malloc/free 与嵌入式堆栈分配策略
java·c语言·算法
努力努力再努力wz1 天前
【MySQL 进阶系列】拒绝滥用root:从 mysql.user 到权限校验,带你彻底理解用户管理与授权机制!
android·c语言·开发语言·数据结构·数据库·c++·mysql
炸膛坦客1 天前
嵌入式 - 数据结构与算法:(1-4)数据结构 - 单链表的两个核心缺点(引入循环/双向链表)
c语言·数据结构·链表
上弦月-编程1 天前
高效编程利器:转移表技术解析
c语言·开发语言·数据结构·算法·排序算法