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

输出菱形图案(难度系数:1颗星) 输入一个整形N表示菱形的边长,输出菱形的图案(每输出一行*就要空一行)如果输入N为3,则输出如下: * * * * * * * *如果输入为4,则输出如下: * * * * * * * * * * * *参考代码1:#include <stdio.h> int main() { int sideLength, i, j, value; 阅读详情

上题目:

  • 要求, 输入菱形的宽 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. 另外需要注意的是,连个字符串用 , 连接,不能使用 + , 加号会使 第一个 空格没有
【Python】输入一个数字,输出以下实心菱形 阅读详情

相关推荐

【C++/C语言打印五角星----附源代码+输出】附:使用Python打印三角形、使用Python打印菱形(钻石)、使用Python打印正方形

代码 #include<bits/stdc++.h> using namespace std; int main() { int i1,j1,k1,i2,j2,k2,i3,j3,k3,i4,j4,k4,m4,n4; printf("输出 五角星 图案:\n"); for(i1=1;i1<6;i1++) // /*这是五角星的上面一个角*/ { for(j1=1;j1<19-i1;j1++) // /*这是空格*/ printf(" "); for(k1=1;k1<=2*

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1万+

C语言-打印任意行菱形

使用C语言打印任意菱形 要打印任意行的菱形,假设n=5,打印的结果如下图: 代码实现如下: #include <stdio.h> int main() { int i=0; int n=0; int j=0; printf("输入一个n:"); scanf("%d",&n);//输入任意一个数 //打印上半部分 for(i=0;i<n;i++)//n=5打印上半部分 { for(j=0;j<n-1-i;j++)//i=0时,打印第一行,第一行打印4个空格

weixin_44768795的博客 935

ADS 使用调整器动态调参教程(Tuning)

ADS动态调参教程

weixin_42845306的博客 1万+

用python打印菱形

与上半给三角形相似下半个三角形也是一个循环嵌套,但是要比上半个三角形少一行,所以要使i从1开始。打印菱形是一个循环嵌套问题,首先要明白内层循环和外层循环分别控制什么。然后在确定菱形需要几行,每一行菱形数量与行数对应。首先要确定菱形的宽度,将菱形分为上下两个三角形。由于range取值是左闭右开,所以要x+1。内循环控制空格的数量。x=5,输出的菱形为。

tuzigigi的博客 6977

zynq+ad9361 petalinux使用官方IIO示波器调试记录

1ad9361 iio示波器

Yetob的博客 7991

Abaqus滞回问题求解—浆锚连接装配式剪力墙滞回模拟

当下土木工程研究生,多数都在从事装配式混凝土构件安全或装配式混凝土构件连接节点力学性能的研究。研究这类问题,几乎脱离不开对有限元软件的使用,Abaqus求解能力非常强大,但模型处理能力相对较弱。装配式混凝土结构的有限元计算与传统现浇结构相比,其节点处理起来相对复杂,计算结果往往需要凸显出连接节点力学特性,所以对建模精程度的要求较高。所以向大家介绍一款工具—HyperMesh软件(一下简称Hm),它是专业的有限元前处理工具,用于处理装配式混凝土构件或连接节点有限元模型比较合适。这篇文章主要介绍如何利用Hm处理

qq_31918049的博客 2901

输出倒三角型 单循环 输出菱形 Python123题解

用户输入数据n,输出n行的倒三角形‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ ‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 例如用户输入5‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬

qq_61661717的博客 3025

17【Protues单片机仿真】基于51单片机的太阳能智能谷物翻晒机器人

基于51单片机,避障,低于50CM报警,LED灯亮起,自动翻晒用光敏电阻,光照强度大,电机转动,相当于翻晒粮食,远程控制用按键代替,按下去电机就转动,相当于翻晒粮食,然后光照强度和超声波的距离都在LCD1602显示屏显示出来。

weixin_70360261的博客 1448

python 输出菱形

''' 打印星星号,从控制台输入1: * 1 1 输入2: * 1 1 ** 2 2 输入3: * 1 1 ** 2 2 *** 3 3 依次类推. ''' # n = int(input("请输入打印的行数:")) # # for x in range(1,n+1): # # print(x*"*") # for x in range(1,n+1): # for j in ra

沉觞的博客 8813

Keil MDK v6迁移指南:从AC5到AC6的编译器升级与工程适配

编译器是嵌入式开发的底层基石,决定了代码的执行效率与工程的可维护性。随着ARM工具链向LLVM/Clang架构演进,Arm Compiler 6(AC6)正逐步取代经典的AC5,成为Keil MDK的核心编译引擎。AC6在C11标准支持、代码优化、诊断信息及LTO链接优化上全面超越AC5,但迁移过程中往往伴随内联汇编重写、类型检查严格化、库兼容性等问题。理解编译器差异、掌握CMSIS-Toolbox的工程描述机制,能帮助嵌入式工程师在Cortex-M系列项目中平滑过渡。本文结合Cortex-M4量产工程实战

weixin_29189363的博客 236

车载软件架构 —— AUTOSAR Vector SIP包(三)

### 上一篇文章中介绍了AUTOSAR基础软件供应商Vector公司的开发工具链,本文将继续介绍Vector公司的AUTOSAR产品。 ### -> 1、Vector SIP包中的StartApplication ### -> 2、StartApplication如何开始使用

Soly_kun的博客 827

C/C++、Python输出奇数行菱形图案

C/C++、Python输出奇数行菱形图案 输入一个正奇数n,输出一个n行菱形 如:输入n = 5,输出: 思路一:直接寻找规律,发现前一半的第 i 行分别输出了(n + 1 - 2 * i) / 2个空格和2 * i - 1个 ’ * ’ ;而后一半就是前一半输出的倒序。 代码如下: C: #include <stdio.h> int main() { int n; scanf("%d",&n); for(int i = 1; i <= (n + 1

m0_56701741的博客 3391

LVGL misc timer 定时器(lv_timer.c)

定时器机制是LVGL中非常重要的一项功能,它承载了LVGL的延时任务执行,周期任务执行,时序任务执行等,可以说理解定时器的设计就一定程度上理解发LVGL的任务调度机制。

Bigan(安)的博客 4729

打印空心的菱形

package com.wyq.study; public class PrintXin { public static void main(String[] args) { System.out.println("打印空心"); for(int i = 0;i<4;i++){ for(int j=3;j>i;j--){ System.out.print("...

wyqwilliam的博客 356

你以为你懂 Java 反射?看了这篇源码分析,我发现我以前都错了

摘要:本文讲述了一次生产环境Metaspace内存溢出的故障排查经历。事故源于一个通用数据导出功能中频繁使用反射调用method.invoke(),触发了JVM的"膨胀机制":当同一Method对象调用超过15次时,JVM会动态生成GeneratedMethodAccessor类,导致Metaspace被撑爆。文章分析了问题根源在于循环中反复调用getMethods()创建新Method对象,并提出了三种解决方案:缓存Method对象、改用MapStruct/MethodHandle工具

BUG猿的博客 769

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python(1)

一.Python和C语言的一些比较: 1.注释: C语言的注释是 // (单行)和 /* */ (多行) Python的注释是 # (单行)和三对引号(单引号和双引号都可以) """ """ (多行) 2.语句 C语言中每个语句都要加分号":" Python中每个语句都不要加分号 3.条件判断和循环嵌套语句 C语言中的if...else... 和while和for后边的条件判断都是在括号内的;并且满足条件要执行的程序是在{}内,或者没有{}也就是只由一个语句,则执...

m0_55137286的博客 244

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

XTU 1293 Diamond

#include<stdio.h> int main() { int k; scanf("%d",&k); while(k--) { int n,m; int i,j; scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n-1-i;j++) {

weixin_51552375的博客 262

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python输出数字等腰三角形的性质_菱形图案

菱形2020-05-16记得小学六年级的时候学习平行四边形,老师说所有平行四边形的长大于宽。有一次,妈妈从超市购物回来,我发现价签上有一个四条边相等的平行四边形。于是我用直尺和铅笔菱形图案很早就被人们所运用,早在 3000 年前马家窑文化时期的彩陶罐就 用了菱形作为装饰,在苏格兰,菱形图案是权利的象征,这使它蒙上了政治色彩,苏格兰服 装的......输出以下菱形图案2020-12-12输出以下菱形...

weixin_39663970的博客 1106

python-循环-打印菱形图案

目标 不允许使用居中的功能 通过一个循环,完成菱形的输出 主要考查,循环知识,和简单的规纳算法能力 需求为 用户输入一个奇数 这个数,生成一个菱形 先画出菱形图 为了推出菱形的一些规律 可以先画出三个菱形作为参考 寻找规律 计算出左边行的公式 计算出每一行应出现的符号数 以7行为例 代码的框架 ...

pyhui的技术博客 1万+

c语言输出菱形图案_「每日一练」巧用python输出菱形图案

菱形的图案真的是特别好看,之前用很多的程序语言都实现了对于菱形图案的输出,那么你知道如何用万能的Python输出一个菱形图案!往下看,就是这么简单!题目打印出如下图案(菱形)先上代码~运行效果题目详述程序分析:我们要做到菱形的高度可控,才比较智能化,菱形图案可以分成上下两个部分,而每一行也可以划分为:输出空格和输出*两个部分,有了思路,就开始做吧!第一行:n=6这个是用来控制菱形的高度,当然你可以...

weixin_39737111的博客 436

Python循环输出各种图案——你未曾见过的拍案叫绝

前言以前水的一篇文章:C语言循环输出各种 * 组成的图形 今天用Python去复现,发现可以更加简单高效,就顺便再水一篇文章吧,23333~~嗝 话不多说 直接贴国光精简后的代码 直角三角形一图案* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...

algae 1万+

PTA-7-59 打印菱形图案

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 输入样例: 7 解决过程: int main(){ int n; scanf("%d",&n); for(int i=1;i<=n/2+1;i++)//菱形的上面n/2+1行 { for(int j=1;j<=n/2+1-i;j++)//空格与行的

kikyououu的博客 2691

【Python】编程练习:输出字母菱形图案

题目描述 要求利用循环输出一个菱形:菱形的第一行是 1 个 A,第二行是 3 个 B,第三行是 5 个 C,直到某个给定的字母全部输出后,再将之前输出的部分倒过来输出一遍,即倒数第 1 行是一个 A,倒数第 2 行是 3 个 B……以此类推。 样例输入 D 样例输出 A BBB CCCCC DDDDDDD CCCCC BBB A 参考代码 a = input() l = ord(a)-ord('A') for i in range(1, l+2): print('

XavierJ的博客 4842

习题4-9 打印菱形图案 (15分) 打印一个高度为n的、由“*”组成的正菱形图案

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 输入样例: 7 输出样例: * * * * * * * * #include<stdio.h> int main(){ int n,i,j,m,x; scanf("%d",&n); x=(n/2)+1; for(i=1;i<=x;i++){

qq_44643789的博客 5863

习题4-9 打印菱形图案 (15分)

习题4-9 打印菱形图案 (15分) 题目描述 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 输入样例: 7 输出样例: * * * * * * * * * * * * * * * * * * * * * ...

流星的博客 1712

[PTA] 7-4 输出菱形图案

7-4 输出菱形图案一、要求二、代码三、运行结果 一、要求 本题要求编写程序,输出指定的由“A”组成的菱形图案。 输入格式: 本题无输入。 输出格式: 按照下列格式输出由“A”组成的菱形图案。 A A A A 二、代码 #include <stdio.h> int main() { printf(" A\n"); printf("A A\n"); printf(" A\n"); return 0; } 三、运行结果 ...

Hiker_W的博客 881
上一篇: 水仙花数C语言与python版
下一篇: 计算一个句子中单词的个数C语言与Python实现
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值