C语言| 输出菱形*

C语言| 输出*三角形-CSDN博客

输出菱形。

【分析思路】

学会输出*的三角形之后输出菱形就很简单了。我们分析一下,菱形是由两个对称的三角形组成的,也因为是对称的,所以输出的菱形的行数肯定是一个奇数。

1 我们在编程的时候,要把菱形分成两个三角形,分别输出一个是正着的三角形,一个是倒着的三角形。
2 又因为行数是奇数,所以肯定一个三角形的行数要比另一个三角形的行数多一行。我们把最中间的对称行放在上面的三角形里面。
3 因为是将菱形分成两个三角形,所以下面三角形行数重新从1开始。

等差数列{an}的通项公式为:an=a1+(n-1)d。a1为第一项, d为公差

下面三角形的规律如下:
① 从每行输出的空格个数来看,第i行首先要输出i个空格
② 从每行输出的星号个数来看,虽然下面的三角形是倒着的,但它也是满足等差数列的,公差为-2。
问题是这个等差数列的首项是多少。首项星号的个数实际是对称行前一行星号的个数。

上面的三角形星号个数满足:
j=a1+(n-1)*d=1+(i-1)*2=2×i-1

(j代表第 j 行的*,n代表总行数,i代表第 i 行)

其对称行前一行i的值为:(此时 i为左边的空格数量)

总行数为n,上三角的行数=(n+1)/2行,所以对称前一行减1就行i=(n+1)/2-1

代入得对称前一行的*为 j=n -2

所以下面三角形等差数列的首项等于n -2。

下面三角形不包含对称行,行数从1到i。
所以下面三角形第i行星号个数为:an=a1+(n -1) d=(n -2)+(i -1)(-2)=n-2i。

【程序代码】

#include <stdio.h>

int main(void)
{
    int n = 0; //存储行数

    int i; //行循环变量
    int j; //空格和星号循环变量

    printf("请输入行数:");
    scanf("%d", &n);

    //上面的三角形,包含对称行,所以是(n+1)/2行
    for(i=1; i<=(n+1)/2; i++)
    {
        //打印空格
        for(j=0; j<(n+1)/2-i; j++)
        {
            printf(" ");
        }

        //打印星号
        for(j=0; j<2*i-1; j++)
        {
            printf("*");
        }

        printf("\n");
    }

    //下面的三角形,不包含对称行,所以是n/2行
    for(i=1; i<=n/2; i++)
    {
        //打印空格
        for(j=0; j<i; j++)
        {
            printf(" ");
        }

        //打印星号
        for(j=0; j<n-2*i; j++)
        {
            printf("*");
        }

        printf("\n");
    }

    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/671769.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络空间安全数学基础·循环群、群的结构

3.1 循环群&#xff08;重要&#xff09; 3.2 剩余类群&#xff08;掌握&#xff09; 3.3 子群的陪集&#xff08;掌握&#xff09; 3.4 正规子群、商群&#xff08;重要&#xff09; 3.1 循环群 定义&#xff1a;如果一个群G里的元素都是某一个元素g的幂&#xff0c;则G称为…

【SpringBoot】四种读取 Spring Boot 项目中 jar 包中的 resources 目录下的文件

本文摘要&#xff1a;四种读取 Spring Boot 项目中 jar 包中的 resources 目录下的文件 &#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。公粽号&#xf…

python dlib 面部特征点检测

运行环境macos m2芯片 Python 3.11.7&#xff0c;python3.9都能通过&#xff0c;windows系统应该也是一样的效果 import dlib import cv2 import matplotlib.pyplot as plt# Load the image image_path path_to_your_image.jpg # Replace with the path to your image image…

React常见的一些坑

文章目录 两个基础知识1. react的更新问题, react更新会重新执行react函数组件方法本身,并且子组件也会一起更新2. useCallback和useMemo滥用useCallback和useMemo要解决什么3. react的state有个经典的闭包,导致拿不到最新数据的问题.常见于useEffect, useMemo, useCallback4. …

LLM——深入探索 ChatGPT在代码解释方面的应用研究

1.概述 OpenAI在自然语言处理&#xff08;NLP&#xff09;的征途上取得了令人瞩目的进展&#xff0c;这一切得益于大型语言模型&#xff08;LLM&#xff09;的诞生与成长。这些先进的模型不仅是技术创新的典范&#xff0c;更是驱动着如GitHub Copilot编程助手和Bing搜索引擎等广…

基于SpringBoot+Vue的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…

西瓜播放器xgplayer设置自动播放踩坑

上图是官网&#xff08;西瓜视频播放器官方中文文档&#xff09;的介绍&#xff0c;相信大家都是按照官网配置去做的&#xff0c;但是并没有什么用&#xff0c;插件很好用&#xff0c;但是属性不全&#xff0c;真的很悔恨&#xff0c;找遍 api 都没有找到自动播放的属性&#x…

epoll模型下的简易版code

epoll模型下的简易版code c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/epoll.h> #include <fcntl.h>#define MAX_EVENTS 10 #define NUM_DESCRIPTORS 5 // 模拟多个文件描述符// …

即时通讯系统是什么?

在信息化发展的时代&#xff0c;人们需要更加高效、便捷的通信方式来满足日常沟通和合作的需求。即时通讯系统应运而生&#xff0c;成为人们日常生活和工作中不可或缺的一部分。即时通讯系统通过互联网或其他网络通信技术实现实时信息传递&#xff0c;为用户提供了文字、语音、…

Adobe InDesign 专业桌面排版软件下载安装,Id软件丰富的排版和设计工具!

Adobe InDesign这款革命性的应用程序不仅彻底改变了出版业的生产流程&#xff0c;更引领着设计领域向前迈进。 在Adobe InDesign的众多强大功能中&#xff0c;对OpenType字体的支持堪称其一大亮点。OpenType字体不仅拥有更加丰富的字体样式和字符集&#xff0c;还具备更为灵活…

遥感之特征选择-禁忌搜索算法

各类智能优化算法其主要区别在于算法的运行规则不同&#xff0c;比如常用的遗传算法&#xff0c;其规则就是变异&#xff0c;交叉和选择等&#xff0c;各种不同的变体大多是在框架内的实现细节不同&#xff0c;而本文中的禁忌算法也是如此&#xff0c;其算法框架如下进行介绍。…

【一刷《剑指Offer》】面试题 31:连续子数组的最大和

牛客对应题目链接&#xff1a;连续子数组最大和_牛客题霸_牛客网 (nowcoder.com) 力扣对应题目链接&#xff1a;53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 核心考点 &#xff1a;简单动归问题。 一、《剑指Offer》对应内容 二、分析题目 1、贪心 从前往后迭…

VRTK4教程 一:资源导入、Unity设置、连接头盔

文章目录 VRTK4的分包导入VRTK4的资源包unity设置连接头盔 VRTK4的分包 vrtk4的资源包和旧版不同&#xff0c;采用了分包导入的思想&#xff0c;我们要用什么功能&#xff0c;就导入什么包&#xff0c;可以有效减小程序体积 如下图&#xff0c;已经导入的vrtk包会显示在Packag…

C语言—深入理解指针(5)

1. sizeof 和 strlen 的对比 1.1 sizeof 在学习操作符的时候&#xff0c;我们学习了 sizeof&#xff0c;sizeof 是计算变量所占内存空间大小的&#xff0c;单位是字节&#xff0c;如果操作数是类型的话&#xff0c;计算的是使用类型创建的变量所占内存空间的大小。 sizeof 只…

MicroBlaze 处理器参考指南

概述 本章包含MicroBlaze功能的概述和详细信息MicroBlaze架构包括Big-Endian或Little-Endian位反转格式&#xff0c;32位或64位通用寄存器&#xff0c;虚拟内存管理&#xff0c;缓存软件支持&#xff0c;和AXI4-Stream接口 简介 MicroBlaze嵌入式处理器软核是一个精简指令集…

调查问卷和考试系统SurveyKing

什么是 SurveyKing &#xff1f; SurveyKing 是功能更强大的调查问卷、考试系统&#xff0c;很多功能体验超过问卷网、问卷星。支持在线考试/调查问卷/公开查询/题库刷题/投票。 软件特性 &#x1f947; 支持 20 多种题型&#xff0c;如填空、选择、下拉、级联、矩阵、分页、签…

CANDela studio的DTC

可以在文件——属性里面选择支持的规范 想要添加DTC&#xff0c;首先要在Diagnostic Trouble Codes里面的Available DTCs Fault Memory里面进行添加&#xff0c;不过这只是添加在池子里面&#xff0c;并不能使用。 添加完了之后在fault memory里面copy进来&#xff0c; 这样就能…

VRRP

文章目录 VRRP基本原理技术背景VRRP作用VRRP概述VRRP名词解释VRRP路由器VRRP组虚拟路由器虚拟IP地址、MAC地址Master、Backup路由器 VRRP状态机Master/ Backup 路由器Master路由器:Backup路由器: VRRP的工作过程 VRRP基础配置![image.png](https://img-blog.csdnimg.cn/img_con…

【逻辑回归】Logistic Regression逻辑回归模型学习笔记

文章目录 序言1. 线性回归2. 逻辑回归2.1 引入逻辑回归的原因2.2 逻辑回归2.3 逻辑回归的应用 3. 逻辑函数3.1 sigmoid函数3.2 sigmoid函数的性质3.3 决策边界3.4 对数几率 4. 损失函数4.1 为什么说逻辑回归时概率类模型4.2 为什么要进行极大似然估计4.3 利用MLE如何推导出损失…

MySQL嵌套,别名,分组查询

有以下三张表&#xff1a;分别是课程表c&#xff0c;有课程号cno&#xff0c;课程名cname&#xff0c;课程类别cpro等 学生信息表s&#xff0c;学号sno&#xff0c;姓名sname&#xff0c;性别ssex&#xff0c;年龄sage&#xff0c;班级sclass&#xff0c;籍贯jg 成绩表sc&#…