C语言:打印用 * 组成的X形图案

题目:

多组输入一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度

                    

 =========================================================================

                       

思路:

总体思路:

实际打印的是 n*n 的图案

只不过是当 行等于列(正斜线) 行+列=行数-1(反斜线) 打印 * 号

         

创建变量:

int n = 0; -- 输出的行数正斜线反斜线 长度

         

使用 while循环 进行 多组输入 

         

定义

int i = 0; --

int j = 0; --

         

使用 for循环 循环打印行i < n

内嵌for循环 循环打印列j < n

               

内嵌for循环如果

行等于列(正斜线)-- i == j

行+列 = 行数-1(反斜线)-- i+j == n-1

打印 * 号

否则打印 空格

           

打印一列就进行换行

                 


                

比较简单,直接一步到位:

(1).

创建变量:

int n = 0; -- 输出的行数正斜线反斜线 长度

         

(2).

使用 while循环 进行 多组输入 

         

(3).

定义

int i = 0; --

int j = 0; --

         

(4).

使用 for循环 循环打印行i < n

内嵌for循环 循环打印列j < n

               

(5).

内嵌for循环如果

行等于列(正斜线)-- i == j

行+列 = 行数-1(反斜线)-- i+j == n-1

打印 * 号

否则打印 空格

           

(6).

打印一列就进行换行

                     

实现代码:

#include <stdio.h>
int main()
{//创建变量:int n = 0; //输出的行数、正斜线、反斜线 的长度//多组输入,打印 x图案:while (scanf("%d", &n) == 1)//使用 while循环 进行多组输入{//定义 行和列:int i = 0; //行int j = 0; //列//使用 for循环 循环打印行:for (i = 0; i < n; i++){//内嵌for循环 循环打印列:for (j = 0; j < n; j++){//当 行等于列 或 行+列=行数-1 时打印 *号:if (i == j || (i+j == n-1))//i == j:x图像的正斜线//i+j == n-1:x图像的反斜线{printf("*"); //打印 *号}else{printf(" "); //打印空格}}//打印完一列后换行:printf("\n");}}return 0;
}

实现图片:

                    

最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{//创建变量:int n = 0; //输出的行数、正斜线、反斜线 的长度//多组输入,打印 x图案:while (scanf("%d", &n) == 1)//使用 while循环 进行多组输入{//定义 行和列:int i = 0; //行int j = 0; //列//使用 for循环 循环打印行:for (i = 0; i < n; i++){//内嵌for循环 循环打印列:for (j = 0; j < n; j++){//当 行等于列 或 行+列=行数-1 时打印 *号:if (i == j || (i+j == n-1))//i == j:x图像的正斜线//i+j == n-1:x图像的反斜线{printf("*"); //打印 *号}else{printf(" "); //打印空格}}//打印完一列后换行:printf("\n");}}return 0;
}

实现效果:

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

io.netty学习(十一)Reactor 模型

目录 前言 传统服务的设计模型 NIO 分发模型 Reactor 模型 1、Reactor 处理请求的流程 2、Reactor 三种角色 单Reactor 单线程模型 1、消息处理流程 2、缺点 单Reactor 多线程模型 1、消息处理流程 2、缺点 主从Reactor 多线程模型 主从Reactor 多线程模型示例 1…

Web自动化元素定位之xpath定位详解

Web自动化常见的定位方式 为什么要学习定位 1.让程序操作指定元素&#xff0c;就必须先找到此元素 2.程序不像人类用眼睛直接定位到元素 webDriver提供了八种定位元素的方式 定位方式总结 1.id、name、class_name、tag_name:根据元素的标签或元素的属性来进行定位 2.link_t…

flask搭建在线音乐网系统

1.使用虚拟环境Virtualenv来创建项目 2. Flask框架介绍 Flask框架是一个用Python编写的轻量级Web应用程序框架&#xff0c;依赖于Werkzeug和Jinja2两个外部库。Werkzeug是一个WSGI工具包&#xff0c;用于接收和处理HTTP请求&#xff0c;匹配视图函数&#xff0c;支持Cookie和会…

Linux :LNMP(源码包安装)

Linux 虚拟机 VMware&#xff1a;安装centos7_鲍海超-GNUBHCkalitarro的博客-CSDN博客 物理机 linux&#xff1a;真机安装centos linux&#xff08;突发事件&#xff1a;解决卡在安装界面&#xff09;{寻找镜像--u启制作--引导u盘--解决卡在安装界面--安装配置}_安装centos7卡…

边缘计算开源平台

边缘计算 文章目录 边缘计算前言01 边缘计算开源平台概述02 面向物联网端的边缘计算开源平台2.1 EdgeXFoundry2.2 ApacheEdgent 03 面向边缘云的边缘计算开源平台3.1 CORD3.2 Akraino EdgeStack 04 面向云边融合的边缘计算开源平台05 构建边缘计算平台的开源软件06 结束语 前言…

PSD笔记

在实际应用中&#xff0c;一个信号我们不可能获得无穷长时间段内的点&#xff0c;对于数字信号&#xff0c;只能通过采样的方式获得N个离散的点。上文提到&#xff0c;实际信号基本上是随机信号&#xff0c;由于不可能对所有点进行考察&#xff0c;我们也就不可能获得其精确的功…

mybatis-plus在实际开发中的应用

文章目录 前言一、实体类的注解二、Req查询条件三、Controller接口四、Service接口五、Service接口实现类六、Mapper接口七、枚举的使用总结 前言 最近的项目是使用mybatis-plus作为持久层框架&#xff0c;前面也记录过mybatis-plus的基本使用&#xff0c;此次记录一下本次项目…

git使用命令技巧

文章目录 前言查看提交用户名更改提交用户名查看文件的diff查看提交记录Git 本地分支管理查看、切换、创建和删除分支 前言 我们在使用git的时候&#xff0c;提交后会看到如下记录&#xff1a; 经常会遇到提交后&#xff0c;这个作者的名字和自己设置的名字不一致&#xff0…

Linux之CentOS 7.9部署Oracle 11g r2_p13390677_112040最终版简易安装实测验证(桌面模式)

前言&#xff1a; Linux之CentOS 7.9部署Oracle 11g r2最终版安装实测验证&#xff08;桌面模式&#xff09; 介于前段时间的Windows以及linux无桌面模式环境&#xff0c;之前的linux oracl源包因缺失会存在报错现象&#xff0c;这次主要以oracle 11gr2更新包来记录下部署方式&…

基于Springboot的在线竞拍系统(拍卖系统)

今天给大家带来了一个在线竞拍(拍卖)系统&#xff08;带设计报告&#xff09;&#xff0c;项目功能完善。 用户功能 包括沙箱支付宝支付&#xff0c;在线竞拍&#xff0c;收藏管理&#xff0c;个人资料管理&#xff0c;竞拍管理等等。 机构功能 包括&#xff0c;上传竞拍项目…

iOS App 上架流程图文教学

在上架App 之前必须先准备好开发者帐号&#xff0c;但申请开发者帐号因法兰克早在之前已经申请好了&#xff0c;故就跳过此步骤&#xff0c;直接从产生凭证到上传App开始讲起。首先&#xff0c;要将自己辛苦写好的App 送审的话&#xff0c;则要依序做完下列几件事情即可。 在开…

「轻松转换文件格式,一键修改文件的格式让文件管理更简便!」

在日常工作和生活中&#xff0c;我们经常会面临需要修改文件格式的情况。无论是转换文件为更普遍使用的格式&#xff0c;还是根据特定需求调整文件的扩展名&#xff0c;都需要一个简单而有效的文件管理工具来完成这项任务。那么&#xff0c;文件批量改名高手将会让您在文件格式…