【c++】C语言之输入行数,输出实心菱形和空心菱形

article/2025/9/18 1:50:18

输出菱形

编程自动输出如下图形,由屏幕输入指定行数(奇数),实现后封装为函数,以行数作为参数值。

在这里插入图片描述

   输入一个n,表示左边两个菱形图形(实心和空心)的行数(或者一半行数)  利用循环语句实现输出。说明:此题相当于两个题,要打印出两个图。提示:第一个菱形分析*号个数和规律;第二题分析*出现位置及变化规律

做题思路

先输出上半部分,再输出下部分
这样就相当于输出一个正三角形和一个倒三角形。
并且正三角形的行数比倒三角形的行数多一行,多出的一行是两个三角形的线。

正三角形

for(i=1; i<=n; i++)//上半部分 {for(j=1; j<=n-i; j++)//"n-i"当前行第一个星号左边的空格数//cout << ' ';for(j=1; j<=2*i-1; j++)//"2*i-1"为当前行的星号数// cout << '*';cout << endl;//换行//}

倒三角形

for(i=n; i>=1; i--)//下半部分{for(j=1; j<=n-i+1; j++)//"n-i"当前行第一个星号左边的空格数// cout << ' ';for(j=1; j<=2*i-1; j++)//"2*i-1"为当前行的星号数// cout << '*';cout << endl;//换行//}

改变两者的n

n_u=n/2+1;//上半部分行数
n_l=n/2;//下半部分行数 

在这里插入图片描述

代码:

#include <iostream>
using namespace std;
int main()
{int n,i,j,n_u,n_l;cout << "输入行数一个奇数:";cin >> n;n_u=n/2+1;//上半部分行数n_l=n/2;//下半部分行数 for(i=1; i<=n_u; i++)//上半部分 {for(j=1; j<=n_u-i; j++)//"n_u-i"当前行第一个星号左边的空格数//cout << ' ';for(j=1; j<=2*i-1; j++)//"2*i-1"为当前行的星号数// cout << '*';cout << endl;//换行//}for(i=n_l; i>=1; i--)//下半部分{for(j=1; j<=n_l-i+1; j++)//"n_l-i"当前行第一个星号左边的空格数// cout << ' ';for(j=1; j<=2*i-1; j++)//"2*i-1"为当前行的星号数// cout << '*';cout << endl;//换行//}
}

空心菱形

做题思路

先输出上半部分,再输出下部分
这样就相当于输出一个正三角形和一个倒三角形。
并且正三角形的行数比倒三角形的行数多一行,多出的一行是两个三角形的线。

在实心的基础上改进
不同点在于*的输出

if(i==1)cout << '*';else{cout << '*';for(j=1; j<=2*(i-1)-1; j++)//"2*i-1"为当前行的星号数// cout << ' ';cout << '*';}

结果

在这里插入图片描述

代码

#include <iostream>
using namespace std;
int main()
{int n,i,j,n_u,n_l;cout << "输入行数一个奇数:";cin >> n;n_u=n/2+1;//上半部分行数n_l=n/2;//下半部分行数 for(i=1; i<=n_u; i++)//上半部分 {for(j=1; j<=n_u-i; j++)//"n_u-i"当前行第一个星号左边的空格数//cout << ' ';if(i==1)cout << '*';else{cout << '*';for(j=1; j<=2*(i-1)-1; j++)//"2*i-1"为当前行的星号数// cout << ' ';cout << '*';}cout << endl;//换行//}for(i=n_l; i>=1; i--)//下半部分{for(j=1; j<=n_l-i+1; j++)//"n_l-i"当前行第一个星号左边的空格数// cout << ' ';if(i==1)cout << '*';else{cout << '*';for(j=1; j<=2*(i-1)-1; j++)//"2*i-1"为当前行的星号数// cout << ' ';cout << '*';}cout << endl;//换行//}
}

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

相关文章

<C语言程序实例>C语言实现菱形输出

<C语言程序实例>C语言实现菱形输出 前言 这一问题无论是在C语言还是别的编程语言的入门学习中都会遇到&#xff0c;还是比较常见的&#xff0c;要学一下的。 一、菱形 我们先要看一下我们要输出的菱形是什么样子的。这里举一个例子简单说明一下: 大家首先要知道一点…

C语言之打印菱形

小编最近在刷题的时候遇到很多使用循环的题目&#xff0c;对于这类题目&#xff0c;小编思维逻辑有时候也会很迷&#xff0c;现在来分享一下经典的案列&#xff0c;帮助大家锻炼一下逻辑 打印如图所示的菱形 通过研究分析&#xff0c;菱形可以分为上三角部分和下三角部分 那我…

c语言:输出一个菱形图案

输出图案样式如下&#xff1a; 方法&#xff1a;运用循环内嵌循环。通过看每一行空格与星号的关系来确定循环&#xff0c;外面加个循环&#xff0c;里面内嵌两个循环。 #include<stdio.h> int main() {int i, j, k;for (i 0; i < 3; i){for (j 0; j < 2 - i; j…

【C语言】利用循环输出菱形

输出菱形的思想主要是用了等差数列 an a1 (n - 1) * d 来求每个循环的约束条件&#xff1b; 一个完整的菱形必须是由空格 、星形 来组成&#xff0c;切分为两部分。 题目效果如下: //要求输出如下图形************* 代码如下: #include "stdio.h" int main(){…

C语言——用“*”输出一个菱形

如何输出如图所示的菱形 先要将菱形分为上下两个三角形&#xff08;例如图示&#xff0c;上为7行的正三角&#xff0c;下为6行的倒三角&#xff09;&#xff0c;接下来通过两个循环分别输出这两部分。首先设置变量line代表上行数&#xff0c;通过键盘输入&#xff0c;接着设置三…

c语言:输出一个菱形图案!

c语言&#xff1a;输出一个菱形图案&#xff01; 给定一个正的奇数n,要求输出一个高为n的正菱形&#xff0c; 如上图所示&#xff0c;是一个11行高的菱形。 怎么设计&#xff1a; 首先把这个图分成三个部分&#xff1a; 1&#xff0c;上半部分 2.中间最长的一部分 3.下半部分…

编写C语言程序 输出一个菱形

用C语言程序实现打印出一个菱形&#xff0c;观察菱形&#xff0c;它的每一行前面会有空格&#xff0c;要打印菱形&#xff0c;首先要算出空格多少的规律&#xff0c;以及每行*的数目&#xff0c;把菱形分为上下两部分打印&#xff0c;上半部分规律&#xff1a;观察最长的一行&a…

C语言输出菱形

咱们输出的是一个13行的菱形&#xff0c;可以分成两部分&#xff0c;第一部分7行星星逐渐增多的&#xff0c;第二部分6行星星逐渐减少&#xff0c;所以代码也可以分成两部分。第一部分是星星最多13个 每次增加两个星星 减少一个空格 &#xff0c;第二部分是星星最多11个&#x…

使用C语言输出菱形详解

// Written by Harry一、思维过程 观察要输出的形状 --- 确定大体思路 --- 转化为数学模型 --- 将问题逐个击破二、完整代码&#xff08;以7*7菱形为例&#xff09; #include <stdio.h>int main() {int i,j,k; //定义菱形行数i、每行输出次数j、每行中输出空格计数器kf…

输出一个菱形(C语言)

输出一个菱形(C语言) 文章目录 输出一个菱形(C语言)说明效果展示代码实现一点说明 说明 当你再键盘上输入一个奇数a时(若输入偶数则自动减1),则会再屏幕上显示腰长为a的菱形(由*组成). 效果展示 代码实现 有兴趣的可以将以下代码复制到自己的编译器当中运行&#xff1a; #i…

【C语言】输出一个菱形

//打印菱形 #include<stdio.h> int main() {int i 0;//i控制第几行int j 0;//j控制每一行空格的循环次数int k 0;//k控制每一行*的循环次数for (i 1; i < 4; i)//将图形分为两部分&#xff0c;前四行(第一部分){for (j 1; j < 4 - i; j)//打印第i行的空格数{p…

软件质量保证

测试计划 编者说明&#xff1a; 要想系统性地完成一件事&#xff0c;首先要做好计划&#xff0c;测试工作是十分重要的&#xff0c;因此测试计划也是十分必要的。该文档适用于集成测试、系统测试、验收测试的计划制订&#xff0c;并不适用于单元测试计划。 第1章 引言 1.1 综…

软件质量的特性

软件质量的简单介绍 软件质量是软件的生命&#xff0c;它直接影响着软件的使用和维护。通常软件的质量有下面几个方面来评价质量的优劣&#xff1a; &#xff08;1&#xff09; 软件需求是衡量软件质量的基础&#xff0c;不符合需求的软件就不具备质量。设计的软件应在功能、…

如何衡量软件质量好坏?

作为测试人员肯定会被问如何评价一个软件质量的好坏。一般同学都会回答说&#xff0c;上线没 bug。但是一款软件如果没人用&#xff0c;那肯定没 Bug。所以没 bug 绝对不是一个好的评判标准。 那什么样的标准是好的标准&#xff1f; 1. 功能性:软件能够实现用户和客户期望的功…

【软件质量】软件质量控制与软件质量保证

文章目录 软件质量控制SQC软件质量保证SQASQC和SQA的对比软件质量控制SQC 质量控制为保证行动提供了一种手段,以控制和衡量项目、过程或设施的特征,以满足既定的要求。 维持产品或服务质量以满足特定需求的操作技术和活动,也使用这些技术和活动。 质量控制活动是以工作产…

浅谈软件质量与度量

本文从研发角度探讨下高质量软件应具备哪些特点&#xff0c;以及如何度量软件质量。 软件质量的分类 软件质量通常可以分为&#xff1a;内部质量和外部质量。 内部质量 内部质量是指软件的结构和代码质量&#xff0c;以及其是否适合维护、扩展和重构。它关注的是软件本身的…

如何理解软件的质量

什么是质量&#xff1f; 词典的定义是&#xff1a;① 典型的或本质的特征&#xff1b;② 事物固有的或区别于其他事物的特征或本质&#xff1b;③ 优良或出色的程度。 CMM对质量的定义是&#xff1a;① 一个系统、组件或过程符合特定需求的程度&#xff1b;② 一个系统、组件或…

【软件质量】软件质量分析总结报告

软件质量-----“软件与明确地和隐含地定义的需求相一致的程度” 一、质量的概念 Ⅰ、传统的质量概念:产品性能是否符合技术规范 Ⅱ、质量是一组固有特性满足要求的程度 Ⅲ、适用性质量 Ⅳ、质量不仅指产品质量&#xff0c;也指过程和体系的质量 二、软件质量 Ⅰ、产品质…

软件质量有什么特性?

软件质量有什么特性&#xff1f; 《软件工程—产品质量》&#xff08;GB/T 16260-2006&#xff09;中规定对软件的每个质量特性与子特性都有定义&#xff1a; 一、功能性&#xff1a;是指当软件在指定条件下使用&#xff0c;软件产品满足明确和隐含要求功能的能力。 适合性&a…

1.软件质量

一、软件质量 什么是质量 定义&#xff1a;影响产品或服务满足给定需求的能力的特性和特性的总和。 质量来自&#xff1a; 客户的观点是否适合使用或其他客户需求生产者观点满足要求 软件质量 定义&#xff1a;软件符合质量标准的程度。 Prevention is better than cure…