c语言经典例题:打印菱形

article/2025/9/27 12:15:45

题目:打印出如下图案(菱形)
在这里插入图片描述
思路:
菱形这个图案很有趣,图案里的*数量,从上到下看,有着独特的规律,
1 ,3,5,7,5,3,1
所以,最开始看到这个图的时候,我想到的,是把里面的 * 按顺序打印出来,当然,后来尝试几次,发现是错的,因为我忽略了空白部分

因此,在打印的时候,大家一定要考虑空白部分,即,printf(“”)输出

好了,既然图形对称规律的特点,这个图案我们分两部分来写

首先,是上半部分

for (i = 1; i <= 4; i++) //先打印前4行{for (j = 1; j <= 4 - i; j++) //每一行先打印需要打印的空格,空格数为(4 - 行号),譬如第1行,需要打4-1个空格,第2行需要打4-2个空格printf(" ");for (k = 1; k <= 2 * i - 1; k++) //打完空格打‘*',每行需要打印2倍行号+1个,譬如第1行打印2*1 - 1个,第2行打印2*2 - 1=3个printf("*");printf("\n");

这里我们用到了几次循环,目的是把*和空白都打印出来,同理反之,下半部分

for (i = 1; i <= 3; i++) //然后打印后面三行,行号从1开始计算{for (j = 1; j <= i; j++) //每行打印空格数为行号数,譬如第1行打印1个,第2行打印2个printf(" ");for (k = 1; k <= 7 - 2 * i; k++) //每行打印7-2*i个’*',譬如第1行打印7-2*1=5个,第2行打印7-2*2=3个printf("*");printf("\n");}

全部代码如下:

#include <stdio.h>int main (void)
{int i, j, k;for (i = 1; i <= 4; i++) //先打印前4行{for (j = 1; j <= 4 - i; j++) //每一行先打印需要打印的空格,空格数为(4 - 行号),譬如第1行,需要打4-1个空格,第2行需要打4-2个空格printf(" ");for (k = 1; k <= 2 * i - 1; k++) //打完空格打‘*',每行需要打印2倍行号+1个,譬如第1行打印2*1 - 1个,第2行打印2*2 - 1=3个printf("*");printf("\n");}for (i = 1; i <= 3; i++) //然后打印后面三行,行号从1开始计算{for (j = 1; j <= i; j++) //每行打印空格数为行号数,譬如第1行打印1个,第2行打印2个printf(" ");for (k = 1; k <= 7 - 2 * i; k++) //每行打印7-2*i个’*',譬如第1行打印7-2*1=5个,第2行打印7-2*2=3个printf("*");printf("\n");}

好了,根据打印结果,我们的做法是正确的
在这里插入图片描述
真诚的希望我的回答,能帮助正遇到这个问题的其他同学。


http://chatgpt.dhexx.cn/article/YXhHPiN8.shtml

相关文章

【C语言】打印菱形详解

打印菱形 写法一&#xff1a;下半部分的循环用i的方法打印 #include <stdio.h> int main() {int line 0;int i 0;int j 0;printf("请输入你要打印的行数\n");scanf("%d", &line);//先打印上部分的三角形for (i 1; i < line; i) //打印上…

C语言打印菱形

打印菱形这道题对于初学编程者来说简直是噩梦&#xff0c;曾经我就是栽在这上面的&#xff0c;后来编程编多了之后对打印菱形也觉得不再那么难了&#xff0c;去年在公众号写了一篇推送是关于打印菱形的&#xff0c;觉得对一些师弟师妹还是有所帮助的&#xff0c;今天就把这道题…

打印菱形图案的两种方法

打印菱形图案 本题要求编写程序&#xff0c;打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形&#xff0c;如样例所示。每个星号后跟一个空格。 输入样例: 7 输出样例: 方法一&#x…

C语言——打印菱形

输入上半部分的行数来打印出一个菱形&#xff0c;效果如图&#xff1a; 这里将他分为两部分来分析&#xff0c;主要就是找每一部分的空格个数与 * 个数的规律 分析上半部分&#xff1a; 代码如下&#xff1a; //上半部分&#xff1a;for (int i 1; i < n; i) { //行数做循…

打印菱形

各种各样的打印菱形 打印菱形 打印菱形打印挖空菱形打印数字菱形 打印菱形 1.初级版 Description 由键盘输入正数n&#xff08;n<30&#xff09;&#xff0c;要求输出如下2*n1行的菱形图案。 输入样例 2 输出样例 代码实现1&#xff1a; #include <stdio.h> #in…

打印菱形-c语言

分析&#xff1a;打印菱形&#xff0c;可以分上下两个部分来打印&#xff0c;因为上下两个部分是不一样的。 以打印7行的菱形为例&#xff1a; 上半部分&#xff1a;总共7行&#xff0c;一行一行的打印&#xff0c;先打印空格(空格控制缩进)&#xff0c;再打印*。 打印空格&am…

打印菱形(C语言)

打印菱形 首先&#xff0c;可以将菱形分成上下两部分 上部分&#xff1b; 总行数 line 1.先打印空格&#xff0c;从图中可以发现&#xff1a; 左侧空格数由(line -1)每次减少一个&#xff0c;到0为止。&#xff08;右侧同理&#xff09; 2.后打印*&#xff0c;从图中可以发现&…

如何打印菱形

方法一 拆分法 拆分法(将*和空格分开来考虑&#xff0c;简化问题)&#xff08;菱形大小无上限&#xff09; #include<stdio.h> int main() {int n 0;//输入上半行的行数scanf("%d",&n);int i 0;//打印上半行for (i 0; i < n; i){//打印空格int j 0…

详细讲解:打印菱形(随心所欲版)

C语言打印菱形--超详细讲解 文章目录 前言&#xff1a; 一、打印菱形的基本思路二、操作步骤 1.确定行数和每行中的元素个数2.打印空格和*总结 前言 在学习C语言的时候&#xff0c;会遇到打印菱形的题目。在开始时我也只是用printf函数直接打印&#xff0c;那样也可以&#xf…

C语言—打印菱形,过程分析非常详细

如何打印菱形&#xff0c;过程分析非常详细 思路&#xff1a; 要打印这个图形&#xff0c;我们应该一行行得去打印&#xff0c;每一行先打印空格&#xff0c;再打印星号&#xff0c;比如&#xff0c;第一行我们应该先打印3个空格再打印1个星号。 我们可以发现前四行空格数在减少…

【C语言练习——打印菱形及其变形】

菱形及其变形 前言1、打印菱形——中间对齐版2、打印菱形——上左下左对齐版3、打印菱形——上右下右对齐版4、打印菱形——上左下右对齐版5、打印菱形——上右下左对齐版总结 前言 菱形是一种特殊的平行四边形&#xff0c;定义见百度百科 本文主要是写关于菱形的练习题&#x…

VBA: 字典的介绍与实例

基本语句 Sub dictest() 字典简介字典对象相当于一种联合数组&#xff0c;它是由具有唯一性的关键字&#xff08;Key&#xff09;和它的项&#xff08;Item&#xff09;联合组成VBA字典有6个方法Add , Keys, Items, Exists, Remove, RemoveAllVBA字典有4个属性Count , Key, It…

VBA dictionary的用法

1.VBA中创建字典。 dictionary是保存数据键和项目对的对象。 下面代码示范如何创建 Dictionary 对象&#xff1a; Dim myd As Object Set myd CreateObject("Scripting.Dictionary") d.Add "a", "Athens" ’添加键和项目。 d.Add "b…

VBA字典对象操作技巧

VBA 中集合的功能比较弱&#xff0c;常见的有数组 (array) 、集合 (Collection&#xff09;和字典&#xff0c;其中字典是 Key-Value Pair 类型的数据结构&#xff0c;适合按 Key 存储和查找。本篇介绍字典的操作方法。 VBA 语法本身并没有字典这种数据结构&#xff0c;需要引…

VBA 二维数组和字典

数据源: 二维数组和字典的主要使用方法 Sub test()Dim dict As ObjectSet dict CreateObject("Scripting.Dictionary")Set sh Worksheets("Sheet3")Set Rng sh.Range("A1:E" & sh.Range("E1").End(xlDown).Row)sh.Range("…

【原创】VBA学习笔记(313)VBA字典相关:遍历字典,用key查item, 用item查key的方法

1 字典的遍历方法 即使是后期绑定&#xff0c;也可以用 for each i in dict1.keys() 这里用到的 dict1.keys() 但不是 dict1.keys(i) 是可以的 Sub test_dict11()Dim dict1 As Object Set dict1 CreateObject("scripting.dictionary")dict1.Add 1, "h&qu…

【Excel VBA和Python对照学习】创建字典

Excel VBA和Python双语对照学习 我们从小学习语文&#xff0c;都用过字典。查字典时可以从第一页开始&#xff0c;一页一页地往下找&#xff0c;直到找到为止。这样做明显效率低下&#xff0c;特别是字的位置比较靠后的时候。所以查字典时不这样做&#xff0c;而是根据目录直接…

vba中字典的用法

字典对象的方法有6个&#xff1a; Add 添加一条关键字与条目 Keys 返回所有关键字(形成1维数组) Items 返回所有条目(形成1维数组) Exists 关键字是否存在(TRUE/FALSE) Remove 移除关键字与对应的条目 RemoveAll 移除所有关键字与对应的条 注意&#xff1a; 字典对象的属性有4…

Excel VBA Dictionary excel vba 字典大全

Excel VBA Dictionary - A Complete Guide - Excel Macro Mastery A Quick Guide to the VBA Dictionary FunctionParamsEarly binding reference“Microsoft Scripting Runtime” (Add using Tools->References from the VB menu)Declare (early binding)Dim dict As Scr…

vba字典学习案例

一、案例概述&#xff1a; 本次案例主要讲解字典的学习和应用&#xff0c;通过使用字典的方式来将每一行不重复的数值进行汇总形成一个字符串&#xff0c;且将该字符串展示到指定单元格中。二、案例展示&#xff1a; &#xff08;1&#xff09;源数据&#xff1a; &#xff08;…