c语言刷题——输出图案

1.输出用“*”组成的X形图案

题目:请打印用“*”组成的X形图案

描述:

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

输出描述:

针对每行输入,输出用“*”组成的X形图案。

示例1

输入:

5

输出:

*   ** * *  * * 
*   *

 示例2

输入:

6

输出:

*    **  * **  ** *  * 
*    *

1.题目分析 

在该题中需要输出用“*”构成的x型图案,我们先在表格*图案上画在表格上以便于分析其中的规律

例如以下是当n为8时在表格里的图案

在以上表格中我们可以看出在紫色线所包围的*横坐标都等于纵坐标 

而在在以上表格中我们可以看出在绿色线所包围的*横坐标+纵坐标=n-1

通过以上分析我们就找出了这个图案的规律,接下来就是代码的实现

2. 代码实现

要输出一个多行多列的项目时我们可以想到使用for循环里面再嵌套一个for循环的方式来实现
1.第一个for循环实现输出行,第二个for循环来实现输出列
2.使用if语句来实现当位置满足以上输出*时在屏幕上打印*
3.使用else语句来实现当不满足输出*时在屏幕上打印空格

以下便是完整的代码

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{int n = 0;while(scanf("%d", &n)!=EOF){for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){if (i == j){printf("*");}else if (i + j == n - 1){printf("*");}else{printf(" ");}}printf("\n");}}return 0;
}

我们来输入几个不同的n值来程序测试

2.输出用“*”组成的空心正方形图案 

输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。

输出描述:

针对每行输入,输出用“*”组成的“空心”正方形,每个“*”后面有一个空格。

示例1

输入:

4

输出:

* * * * 
*     * 
*     * 
* * * * 

示例2

输入:

5

输出:

* * * * * 
*       * 
*       * 
*       * 
* * * * * 

1.题目分析 

在该题中需要输出用“*”构成的正方形型图案,我们先在表格*图案上画在表格上以便于分析其中的规律

以下是当n等于5时的表格

从以上n=5时的图案可以看出在第一行,第四行,第一列,第四列都有*

所以可以得出该题的规律:当输入n时,在第1行,第n-1行,第1列,第n-列都打印*
其余位置打印空格

2.代码实现

要输出一个多行多列的项目时我们可以想到使用for循环里面再嵌套一个for循环的方式来实现

1.当第1行或者第n-1行或者第1列或者第n-列都打印*
2.其余其他位置打印空格
 

以下是完整的代码

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{int n = 0;while(scanf("%d", &n)!=EOF){for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){if (i == 0 || i == n - 1 || j == 0 || j == n - 1){printf("* ");}else{printf("  ");}}printf("\n");}}return 0;
}

我们来输入几个不同的n值来测试程序

3.输出用“*”组成的菱形图案

 

1.题目分析 

要求输入一个数n(要求n为奇数),输出菱形图案,例如当输入n为13时可以看出这个菱形有13行,13列将这个图形可以将其分成上下两个部分来实现 

1.上部分图案 

 将上半部分放入表格中便于观察,透过以上表格可以发现上半部分图形有7行,若令行为i,列为j,每行前部分空格为7-i,每行*数为2i-1

通过以上分析可以得出上半部分的图案代码

 

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{int n = 0;scanf("%d", &n);//输入图案总行数int s = (n / 2)+1;for (int i = 1; i <= s; i++){int j = 0;for(j=1;j<=s-i;j++){printf(" ");}for (j = 1; j <= 2 * i - 1; j++){printf("*");}printf("\n");}return 0;
}

1.下部分图案  

 将上半部分放入表格中便于观察,透过以上表格可以发现下半部分图形有6行,若令行为i,列为j,每行前部分空格为i,每行*数为13-2i

以下是输出下半部分图案代码

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{int n = 0;scanf("%d", &n);//输入图案总行数int s = (n / 2)+1;for (int i = 1; i <= s - 1; i++){int j = 0;for (j = 1; j <= i; j++){printf(" ");}for (j = 1; j <= n - 2 * i; j++){printf("*");}printf("\n");}return 0;
}

2.完整代码实现

题目中要求输入数为奇数,这时我们要用到一个if...else语句,当输入n不为奇数时提示请输入奇数
还需实现多组输入就使用一个while循环,当有输入值时候即scanf返回值不为EOF时进入循环

以下是该程序完整的代码 

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{   int n = 0;while(scanf("%d", &n)!=EOF)//输入图案总行数{int s = (n / 2)+1;if (n % 2 == 1){for (int i = 1; i <= s; i++){int j = 0;for (j = 1; j <= s - i; j++){printf(" ");}for (j = 1; j <= 2 * i - 1; j++){printf("*");}printf("\n");}for (int i = 1; i <= s - 1; i++){int j = 0;for (j = 1; j <= i; j++){printf(" ");}for (j = 1; j <= n - 2 * i; j++){printf("*");}printf("\n");}}else{printf("请输入奇数\n");}}return 0;
}

输入几个值来测试一下程序是否能正常运行

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

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

相关文章

大语言模型中的第一性原理:Scaling laws

大语言模型的尺度定律在大语言模型的训练过程中起到了非常重要的作用。即使读者不参与大语言模型的训练过程&#xff0c;但了解大语言模型的尺度定律仍然是很重要的&#xff0c;因为它能帮助我们更好的理解未来大语言模型的发展路径。 1. 什么是尺度定律 尺度定律&#xff08…

Docker入门篇来啦~

文章目录 1虚拟化技术1.1 硬件级虚拟化1.2 操作系统级虚拟化 2 Docker是什么2.1 Docker介绍2.2 容器和虚拟机的区别2.3 为什么使用Docker 3 Docker运行环境部署3.1 Docker安装3.2 Docker服务启动 4 Docker核心组件4.1 镜像4.1.1 镜像的基本概念4.1.2 镜像的组成结构4.1.3 镜像的…

Java 三大特性之继承

目录 一、为什么需要继承&#xff1f; 二、继承概念 三、继承的语法 四、子类访问父类成员 五、super关键字 六、继承关系下的构造方法 七、继承关系下的初始化 八、protected关键字 九、继承的三种方式 十、final关键字 十一、继承和组合 一、为什么需要继承&#…

C语言——rand函数

一、rand函数 这是一个在 C 标准库 <stdlib.h> 中定义的函数&#xff0c;用于生成伪随机数&#xff0c;默认情况下&#xff0c;它生成从 0 到 RAND_MAX 的伪随机数&#xff0c;其中 RAND_MAX 是一个常数&#xff0c;通常是 32767。 1、函数原型&#xff1a; 2、函数返回…

k8s Dashboard 运维维护记录

k8s Dashboard 运维维护记录 k8s Dashboard 运维维护记录 Q1&#xff1a;需要使用firefox浏览器访问 提示了证书错误NET::ERR_CERT_INVALID&#xff0c;原因是由于物理机的浏览器证书不可用 需要注意的是&#xff0c;若提示“连接不安全”的警告时&#xff0c;点击“高级”…

SAP保税区业务方案

1. 保税区背景&#xff1a; 是经国务院批准设立的、海关实施特殊监管的经济区域&#xff0c;是我国目前开放度和自由度最大的经济区域。其功能定位为“保税仓储、出口加工、转口贸易”三大功能。根据现行有关政策&#xff0c;海关对保税区实行封闭管理&#xff0c;境外货物进入…

05 - 步骤 JSON output

简介 JSON Output 步骤用于将 Kettle 中的行流数据写出到 JSON 格式的文件或流中。它允许用户将 Kettle 中处理过的数据以 JSON 格式进行输出&#xff0c;适用于各种数据处理和交换场景。 什么是行流数据&#xff1f; preview data 中的每一个字段都是一个行流数据 使用 场…

www.fastssh.com SSH over WebSockets with CDNs

https://www.fastssh.com/page/create-ssh-cdn-websocket/server/这其实不是标准的websocket报文(服务器响应报文无Sec-Websocket-Accept字段)&#xff0c;所以无法使用github.com/gorilla/websocket包&#xff1a;GET / HTTP/1.1 Host: hostname:8080 User-Agent: Go-http-cli…

ubuntu20配置深度学习环境

目录 系统环境安装anaconda文件的安装anaconda环境配置anaconda换中科大源常用的anaconda命令 安装显卡驱动安装CUDA下载cudnn安装pytorch更换conda源选择对应的pytorch版本进行安装 系统环境 ubuntu20&#xff0c;安装了ros noetic。 参考博客主要有&#xff1a; https://g…

javascript 练习 写一个简单 另类录入 电脑组装报价表 可打印

数据格式 &#xff08;1代表cpu、2代表主板、3代表内存、。。。&#xff09; 1i3 12100 630 2H610 480 3DDR4 3200 16G 220 4500G M.2 299 5300W电源 150 6小机箱 85 7GT 730G 4G 350 8WD 2T 399 9飞利浦 24Led 580 主代码 Html JS <!DOCTYPE html> <html lang&qu…

Python学习笔记------pycharts模块

pyecharts模块简介 Echarts是个由百度开源的数据可视化&#xff0c;凭借着良好的交互性&#xff0c;精巧的图表设计&#xff0c;得到众多开发者的认可&#xff0c;而python是门富有表达力的语言&#xff0c;很适合用于数据处理&#xff0c;当数据分析遇上数据可视化时pyechart…

EPAI手绘建模APP演示板、材质编辑器、样式编辑器

(11) 更多 图 74 更多工具栏 ① 演示板&#xff1a;打开关闭演示板。演示板用来显示从设备导入的模型图纸图片或者打开模型建模教程网页&#xff0c;是建模过程中一个辅助功能。有些设备有小窗口功能有些没有&#xff0c;对于没有小窗口功能的设备&#xff0c;通过演示板能够在…

Boosting算法揭秘:从原理到scikit-learn实战

Boosting算法揭秘&#xff1a;从原理到scikit-learn实战 在机器学习的江湖中&#xff0c;Boosting算法以其强大的预测能力和独特的训练方式占据了一席之地。与Bagging算法并行训练的理念不同&#xff0c;Boosting算法更注重模型的串行迭代和错误修正。本文将从Boosting算法的基…

一键自动化博客发布工具,chrome和firfox详细配置

blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了。 很多小伙伴可能对于如何进行配置和启动不是很了解&#xff0c;今天带给大家一个详细的保姆教程&#xff0c;只需要跟着我的步骤一步来就可以无障碍启动了。 前提条件 前提条件当然是先下…

ios app 之 中国大陆 ICP备案问题

从2024年3月份起&#xff0c;上传到苹果商店&#xff08;app store connect&#xff09;中的app, 若使用地区中选择了 亚太地区 - 中国大陆&#xff0c; 则需要上传 中国大陆 app 的ICP备案&#xff0c;下面是对本人对备案的实操及理解&#xff1a; 1) ICP备案与 app store co…

设计模式——行为型模式——策略模式

策略模式 定义 策略模式定义了一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以相互替换&#xff0c;且算法的变化不会影响使用算法的客户。 策略模式属于对象行为模式&#xff0c;它通过对算法进行封装&#xff0c;把使用算法的责任和算法的实现分割开来&a…

uniapp+vue基于移动端的药品进销存系统r275i

最后我们通过需求分析、测试调整&#xff0c;与药品进销存管理系统管理系统的实际需求相结合&#xff0c;设计实现了药品进销存管理系统管理系统。 系统功能需求包含业务需求、功能需求用户需求&#xff0c;系统功能需求分析是在了解用户习惯、开发人员技术和实力等各个因素的前…

【Conda】解决无名虚拟环境问题

文章目录 问题描述&#xff1a;无名虚拟环境解决步骤1 添加虚拟环境目录到envs步骤2 成功命名 问题描述&#xff1a;无名虚拟环境 如果不指定创建目录&#xff0c;默认创建在C盘用户目录下&#xff0c;这应该是很多人不愿意的吧。 指定目录创建虚拟环境命令如下&#xff1a; …

【微服务】——Docker 基础知识

这里写自定义目录标题 1.1 了解Docker1.1.1应用部署的环境问题1.1.2.Docker解决依赖兼容问题1.1.3.Docker解决操作系统环境差异1.1.4.小结 1.2.Docker和虚拟机的区别1.3.Docker架构1.3.1.镜像和容器1.3.2.DockerHub1.3.3.Docker架构1.3.4.小结 1.4.安装Docker——未实践 2.Dock…

使用Python和Pygame创建一个简单的飞机大战游戏 [附源码]

在这个数字化时代&#xff0c;游戏已经成为我们生活中不可或缺的一部分。从经典的街机游戏到现代的3D游戏&#xff0c;游戏行业经历了巨大的变革。然而&#xff0c;有时候&#xff0c;简单的游戏反而能够带来更多的乐趣和满足感。在本篇文章中&#xff0c;我们将使用Python和Py…