打印 菱形

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

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;
}
相关推荐
晨晖21 小时前
顺序查找:c语言
c语言·开发语言·算法
阿华hhh3 小时前
Linux系统编程(网络udp)
linux·服务器·c语言·网络·网络协议·udp
superman超哥3 小时前
仓颉类型别名的使用方法深度解析
c语言·开发语言·c++·python·仓颉
是Yu欸4 小时前
从Ascend C算子开发视角看CANN的“软硬协同”
c语言·开发语言·云原生·昇腾·ascend·cann·开放社区
黎雁·泠崖4 小时前
C 语言字符串进阶:strcpy/strcat/strcmp 精讲
c语言·开发语言
superman超哥4 小时前
仓颉GC调优参数深度解析
c语言·开发语言·c++·python·仓颉
leaves falling5 小时前
c语言-三角形判断
c语言·开发语言
疑惑的杰瑞5 小时前
掌握 C 语言流程控制:分支、循环、goto 与表达式求值详解
c语言·开发语言·算法·算术转换
Dillon Dong5 小时前
按位或(|=)的核心魔力:用宏定义优雅管理嵌入式故障字
c语言·stm32
superman超哥6 小时前
仓颉Option类型的空安全处理深度解析
c语言·开发语言·c++·python·仓颉