输出菱形图案C语言与Python实现

本文介绍如何使用C语言和Python实现菱形图案的绘制。通过分析菱形上下两部分的规律,利用循环打印空格和星号,实现菱形的输出。代码详细展示了不同语言的具体实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上题目:

  • 要求, 输入菱形的宽 n,表示最宽地方的 * 个数,例如下图 n = 7
    在这里插入图片描述

C语言实现

  • 技巧:
  • (1) 将菱形(如上图)分开为 上三角形,和倒三角形实现。
  • (2) 分别找到 每行输出 空格 与 * 号的规律
#include<stdio.h>
int main()
{
	int n, m, c, i;
	printf("请输入*号的个数,代表菱形宽度:\n");
	scanf("%d", &n);
	//打印上三角形
	for(i=1; i<= (n + 1)/2; i++)
	{
		// 打印空格
		for(m=1; m<= (n + 1)/2 - i; m++)
		{
			printf(" ");
		}
		// 打印 *, 这里 *的个数 和行数是有关系的, 第i行就有  2*(i-1)+1 个 *
		for(c=1; c<=2*(i-1)+1; c++)
		{
			printf("*");
		}
		printf("\n");
	}

	// 下面再来一个循环,打印倒三角, 上三角和倒三角拼成一个 菱形
	for(i=1; i<(n/2 + 1); i++)
	{
		// 打印空格
		for(c=1; c<=i; c++)
		{
			printf(" ");
		}
		// 打印*号, 这里加入打印7个宽的菱形,这里倒三角是(表示*数) 5,3,1  ,所以 (n+1)/2 - i) 表示倒着的行号 3, 2, 1, 在利用 (行号*2 -1)的行数计算。
		for(m=1; m<=((n+1)/2 - i) * 2 -1; m++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

python实现

  • 写的稍有点乱,但是就是这么个东西,参考C语言的实现, 里面的逻辑其中都没变,照抄的。只是语言不同,实现起来代码不一样。
n = int(input("请输入菱形的宽度:"))
# 打印上三角
for i in range(1, int((n + 1)/2) + 1):
    print(" "*int(((n + 1)/2 - i)) , "*"*(2*(i-1)+1))

for i in range(1, int((n + 1)/2)):
    print(" "*i , "*"*((int((n+1)/2) - i) * 2 - 1))

# 1. 利用python字符串可以用 乘法运算符,省去两个for循环
# 2. 得到的结果是 浮点类型~,需要转换为int类型
print(type(5/3))
# 3. 另外需要注意的是,连个字符串用 , 连接,不能使用 + , 加号会使 第一个 空格没有
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值