当前位置: 首页 > news >正文

牛客网刷题 | BC99 正方形图案

目前主要分为三个专栏,后续还会添加:

        专栏如下:                 C语言刷题解析       C语言系列文章       我的成长经历

感谢阅读!

初来乍到,如有错误请指出,感谢!


描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正方形图案。

输入描述:

多组输入,一个整数(1~20),表示正方形的长度,也表示输出行数。

输出描述:

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


思路 :

/*使用嵌套循环来解决这题

两层嵌套for循环 就和乘法口诀表差不多

由此可以看出,当进入第二层循环的时候,是从左往右打印当这五个*打印完成之后

换行操作,然后进入第一层循环然后继续判断,继续从左往右打印*直到循环结束

一开始我也不会写这种题目,理不清是怎么一回事

其实只要套入进去就行了,然后写完在VS里面调试一下就能明白大概是什么意思了。

*/


代码 1 :

/*使用嵌套循环来解决这题两层嵌套for循环 就和乘法口诀表差不多
由此可以看出,当进入第二层循环的时候,是从左往右打印当这五个*打印完成之后
换行操作,然后进入第一层循环然后继续判断,继续从左往右打印*直到循环结束
一开始我也不会写这种题目,理不清是怎么一回事
其实只要套入进去就行了,然后写完在VS里面调试一下就能明白大概是什么意思了。
*/# include <stdio.h>
int main (){int i = 0;while (scanf("%d",&i)!=EOF){for(int j = 1;j<=i;j++)//控制列{for(int n = 1;n<=i;n++)//控制行{printf("* ");}printf("\n");}} return 0;
}#include <stdio.h> // 包含标准输入输出库int main() // 主函数的开始
{int i = 0; // 定义一个整型变量i,用于存储用户输入的数字// 使用while循环读取用户输入,直到输入结束(EOF)while (scanf("%d",&i)!=EOF){// 外层循环控制列数,从1开始到用户输入的数字i结束for(int j = 1;j<=i;j++){// 内层循环控制行数,从1开始到用户输入的数字i结束for(int n = 1;n<=i;n++){printf("* "); // 打印一个星号和一个空格}printf("\n"); // 内层循环结束后,打印一个换行符,准备打印下一行}} return 0; // 程序正常结束
}

代码 2 :

#include<stdio.h>
int main()
{int x,i;while(scanf("%d",&x)!=EOF){for(i=1;i<=(x*x);i++){if(i%x==0){printf("*\n");}elseprintf("* ");}}return 0;
}#include<stdio.h> // 包含标准输入输出库int main() // 主函数的开始
{int x, i; // 定义两个整型变量x和i,x用于存储用户输入的数字,i用于循环计数// 使用while循环读取用户输入,直到输入结束(EOF)while(scanf("%d",&x)!=EOF){// 外层循环控制总的打印次数,即x的平方for(i=1; i<=(x*x); i++){// 判断当前打印的星号是否是一行的最后一个if(i%x==0) // 如果i能被x整除,说明是一行的最后一个星号{printf("*\n"); // 打印一个星号后换行,开始新的一行}else // 如果不是一行的最后一个星号printf("* "); // 打印一个星号后跟一个空格}}return 0; // 程序正常结束
}

代码 3 :

#include<stdio.h> // 包含标准输入输出库int main() // 主函数的开始
{int x; // 定义一个整型变量x,用于存储用户输入的数字,代表矩阵的边长// 使用while循环读取用户输入,直到输入结束(EOF)while(scanf("%d",&x)!=EOF){// 外层循环控制行,从1到xfor(int i=1; i<=x; i++){// 内层循环控制列,从1到xfor(int j=1; j<=x; j++){// 如果是列的最后一个星号,打印星号后换行if(j==x) printf("*\n");// 否则打印星号后跟一个空格else printf("* ");}}}// 主函数结束,返回0表示程序正常结束return 0;
}

这段代码通过两层嵌套循环来打印矩阵。

外层循环控制行,内层循环控制列。

在内层循环中,如果当前是列的最后一个元素(即j==x),则打印一个星号后换行;否则,打印一个星号后跟一个空格。

这样,每完成一行的打印后,就会自动换到下一行的开头,继续打印,直到整个矩阵打印完毕。


 扩展 :

  • 理解题目要求

    • 仔细阅读题目,弄清楚需要解决的问题是什么,输出的格式是什么样的。
  • 确定循环结构

    • 根据题目要求,确定需要几层循环。通常,每一层循环对应输出结构中的一个维度。
    • 例如,打印一个矩阵通常需要两层循环:外层循环控制行,内层循环控制列。
  • 设计循环变量

    • 为每一层循环定义一个循环变量,这个变量通常从1开始,到某个特定的值结束。
  • 编写循环体

    • 在循环体内编写需要执行的操作,比如打印字符、计算数值等。
    • 考虑循环体内的逻辑,比如何时换行、何时打印特定的字符等。
  • 处理边界条件

    • 考虑循环的起始和结束条件,以及循环变量的取值范围。
    • 特别注意循环的终止条件,避免无限循环。
  • 测试和调试

    • 编写完代码后,进行测试,检查输出是否符合预期。
    • 使用一些简单的测试用例,比如边界值,来验证代码的正确性。
    • 如果输出不正确,使用调试工具或打印语句来逐步跟踪代码的执行过程,找出问题所在。
  • 优化代码

    • 在确保代码能够正确运行的基础上,考虑是否可以优化循环结构或逻辑,使代码更加简洁高效。
  • 编写注释

    • 给关键的代码段添加注释,说明代码的功能和逻辑,便于他人阅读和理解。
  • 回顾和总结

    • 完成题目后,回顾整个解题过程,总结经验教训,提高解题能力。
  • 以打印乘法口诀表为例,可以这样思考:
  • 题目要求:打印一个乘法口诀表。
  • 循环结构:两层循环,外层控制行(乘数),内层控制列(被乘数)。
  • 循环变量:外层循环变量从1开始,到9结束;内层循环变量也从1开始,到9结束。
  • 循环体:在内层循环体内打印乘法表达式和结果,每完成一行后换行。
  • 边界条件:确保循环变量不超过9。
  • 测试和调试:使用几个简单的数字测试代码,比如输入1、2等。
  • 优化代码:考虑是否可以减少不必要的打印语句,使代码更加简洁。
  • 编写注释:在关键的循环和打印语句处添加注释,说明代码的作用。
  • 回顾和总结:思考如何改进代码,比如是否可以使用更少的循环或更简洁的表达式。

  

相关文章:

牛客网刷题 | BC99 正方形图案

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 KiKi学习了循环&am…...

启动小程序F12窗口管理器

如何使用小程序F12任务窗口管理器教学流程 一、引言 小程序的开发者们&#xff0c;是否希望有一款工具能帮助你们更好地管理任务窗口&#xff1f; 二、前置准备 观看视频教程 访问B站视频链接&#xff1a;https://www.bilibili.com/video/BV1aa4y197UU/?spm_id_from333.9…...

完全背包之零钱兑换I

上次分享完完全背包问题的解决思路后&#xff0c;这次分享一道和完全背包有关的leetcode题。 零钱兑换 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。计算并返回可以凑成总金额所需的最少的硬币个数。如果…...

Flutter 中的 FittedBox 小部件:全面指南

Flutter 中的 FittedBox 小部件&#xff1a;全面指南 在Flutter的丰富布局小部件中&#xff0c;FittedBox扮演着一个独特而重要的角色。它是一个灵活的组件&#xff0c;用于将子组件的大小和位置适应到给定的约束条件中。本文将提供FittedBox的全面指南&#xff0c;帮助你了解…...

Java的线程的使用

一.两种创建线程的方式 1.继承Thread类&#xff08;匿名内部类&#xff09; 创建方式&#xff1a; 1.定义一个子类继承Thread&#xff0c;重写run方法 2.创建子类对象&#xff0c; 3.调用子类对象的start方法&#xff08;启动还是执行的run方法&#xff09; 优缺点&#x…...

行为型模式 (Python版)

模板方法模式 """案例&#xff1a;写简历内容&#xff1a;最近有个招聘会&#xff0c;可以带上简历去应聘了。但是&#xff0c;其中有一家公司不接受简历&#xff0c;而是给应聘者发了两张公司自己定制的简历表&#xff0c;分别是A类型的简历表和B类型的简历表…...

vscode:如何解决”检测到include错误,请更新includePath“

vscode:如何解决”检测到include错误&#xff0c;请更新includePath“ 前言解决办法1 获取includePath路径2 将includePath路径添加到指定文件3 保存 前言 配置vscode是出现如下错误&#xff1a; 解决办法 1 获取includePath路径 通过cmd打开终端&#xff0c;输入如下指令&a…...

区块链会议投稿资讯CCF A--USENIX Security 2025 截止9.4、1.22 附录用率

会议名称&#xff1a;34th USENIX Security Symposium CCF等级&#xff1a;CCF A类学术会议 类别&#xff1a;网络与信息安全 录用率&#xff1a;2023年接收率29%&#xff0c;2024录用的区块链相关文章请查看 Symposium Topics System security Operating systems security …...

vue实现可拖拽移动悬浮球

封装悬浮球组件&#xff0c;文件名s-icons.vue <template><div ref"icons" class"icons-container" :style"{ left: left px, top: top px }"><slot></slot></div> </template> <script> export …...

立体库堆垛机的精密构造与功能(收藏版)

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 在现代物流仓储体系中&#xff0c;堆垛机以其高效、精准的操作能力&#xff0c;成为了自动化存储与检索系统的关键所在。 其复杂的构造和多样化的…...

算法提高之你能回答这些问题吗

算法提高之你能回答这些问题吗 核心思想&#xff1a;线段树 用sum,lmax,rmax,tmax分别存线段长度,最大前缀,最大后缀,最大子段和 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N 500010;int n,m;int w[N];s…...

C++-指针

在C中&#xff0c;指针是至关重要的组成部分。它是C语言最强大的功能之一&#xff0c;也是最棘手的功能之一。 指针具有强大的能力&#xff0c;其本质是协助程序员完成内存的直接操纵。 指针&#xff1a;特定类型数据在内存中的存储地址&#xff0c;即内存地址。 指针变量的定…...

Three.js 研究:2、如何让动画线性运动

1、默认的动画含有加速度并非线性的 制作好的动画很明显是非线性的&#xff0c;这是一个运动环&#xff0c;为了让环运行线性进行如下设置。 2、设置动画成为线性动画...

z3-加法器实验

补码器加减法&#xff0c;运算方法简介 我们要知道什么是补码的加法&#xff0c;我们为什么要用补码的加法&#xff1f; 补码的加法其实就是将两个补码形式的二进制数字直接相加&#xff0c;处理的时候忽略超出固定位数的进位。补码的加法运算和无符号二进制数的加法操作一样&…...

解决git克隆项目出现fatal无法访问git clone https://github.com/lvgl/lvgl.git

Windows 11系统 报错 $ git clone https://github.com/lvgl/lvgl.git Cloning into lvgl... fatal: unable to access https://github.com/lvgl/lvgl.git/: Failed to connect to github.com port 443 after 21141 ms: Couldnt connect to server 解决方法 git运行这两段代码…...

Vue中引入组件需要哪三步

在Vue中引入组件通常需要以下三步&#xff1a; 导入组件&#xff1a;首先&#xff0c;你需要在父组件中导入你想要使用的子组件。这通常是通过ES6的import语法完成的。 注册组件&#xff1a;接下来&#xff0c;你需要在父组件中注册这个子组件。这可以通过components选项完成&…...

到底该用英文括号还是中文括号?

这篇博客写的还挺详细的&#xff0c;不错。...

一个普通双非女生的秋招之路

大家好&#xff0c;我是小布丁。 先简单地做个自我介绍&#xff1a; 我今年本科毕业于某双非院校&#xff08;属于那种没什么人听说过的小学校&#xff09;&#xff0c;学的是计算机专业&#xff0c;英语四级水平&#xff08;没办法&#xff0c;六级确实没过&#xff09;。我本…...

一个模型用了几层神经网络怎么算?

有权重参数的层算作一层&#xff0c;没有权重参数的就是参数不更新&#xff0c;不能称之为一层 有权重&#xff1a;卷积层、全连接层 没有权重的层&#xff1a;激活函数层、池化层 即数卷积层和全连接层的个数&#xff0c;就是这个模型用了几层神经网络。...

python获取cookie的方式

通过js获取cookie&#xff0c;避免反复登录操作。 经验证在JD上没有用&#xff0c;cookie应该无痕或者加密了&#xff0c;只能用单浏览器不关的模式来实现&#xff0c;但是代码留着&#xff0c;其他网站可能有用。 def cookie_set():driver webdriver.Chrome(optionschrome_…...

M5146-C2234E-250BG压力传感器测量误差如何补偿

M5146-C2234E-250BG压力传感器主要有偏移误差、灵敏度误差、线性误差和延迟误差&#xff0c;合理地进行压力传感器的误差补偿是应用的核心。由于这种差异&#xff0c;必须能够最大限度地补偿M5146-C2234E-250BG压力传感器的测量误差。这是确保传感器满足设计和应用要求的重要一…...

告别翻译软件!用Hunyuan-MT-7B搭建自己的多语言翻译助手

告别翻译软件&#xff01;用Hunyuan-MT-7B搭建自己的多语言翻译助手 1. 为什么需要自建翻译助手&#xff1f; 在全球化交流日益频繁的今天&#xff0c;我们每天都会遇到需要翻译的场景&#xff1a;阅读外文资料、处理国际业务邮件、浏览海外社交媒体...传统翻译软件虽然方便&…...

避坑指南:uniapp中使用uni.requestPayment实现支付宝沙箱支付的完整流程

Uniapp支付宝沙箱支付全流程实战&#xff1a;从环境搭建到避坑指南 第一次在Uniapp中集成支付宝支付功能时&#xff0c;我盯着控制台反复出现的"商家订单参数异常"错误提示整整两天。作为一个从微信生态转战支付宝平台的开发者&#xff0c;本以为支付接口的调用都是…...

AI编程调教指南:从“瞎骂”到“精准约束”

写在前面&#xff1a;你不是在使用AI&#xff0c;你是在和概率打交道大语言模型不读脸色、没有情绪、不会记仇。它只做一件事&#xff1a;预测下一个token的概率。你感觉它“变聪明”或“变笨”&#xff0c;本质都是概率分布被你推到了更优或更差的位置。这篇文章会告诉你&…...

【深度解析】设备无关性与I/O性能优化:从缓冲区管理到磁盘调度

1. 设备无关性&#xff1a;用户程序与硬件的优雅解耦 第一次接触设备无关性概念时&#xff0c;我正被不同打印机驱动搞得焦头烂额。当时就在想&#xff1a;为什么不能像读写文件那样操作所有设备&#xff1f;后来才发现&#xff0c;操作系统早已通过逻辑设备映射实现了这个理想…...

GTE-Pro在教育领域的应用:智能题库与知识点关联

GTE-Pro在教育领域的应用&#xff1a;智能题库与知识点关联 1. 教育行业的痛点与机遇 你有没有遇到过这样的情况&#xff1f;作为一名老师&#xff0c;想要给学生出一套练习题&#xff0c;却要花好几个小时在题库里翻找合适的题目。或者作为学生&#xff0c;做完一套题后&…...

电商卖家看过来!用Face3D.ai Pro低成本生成商品模特3D头像

电商卖家看过来&#xff01;用Face3D.ai Pro低成本生成商品模特3D头像 关键词&#xff1a;3D头像生成、电商模特、AI建模、低成本解决方案、Face3D.ai Pro 摘要&#xff1a;本文详细介绍如何利用Face3D.ai Pro为电商商品快速生成专业级3D模特头像&#xff0c;从系统部署到实际…...

DSI3协议实战入门:从理论到波形调试的完整指南

1. DSI3协议基础&#xff1a;从电线对话开始理解 第一次接触DSI3协议时&#xff0c;我盯着那根细细的通信线看了半天——就这么一根线&#xff0c;怎么实现主设备和多个从设备之间的数据交换&#xff1f;后来才发现&#xff0c;这根线里的门道比我想象的精彩多了。DSI3&#xf…...

Phi-4-reasoning-vision-15B部署案例:开箱即用Web界面,免配置跑通文档OCR问答

Phi-4-reasoning-vision-15B部署案例&#xff1a;开箱即用Web界面&#xff0c;免配置跑通文档OCR问答 1. 模型介绍 Phi-4-reasoning-vision-15B是微软推出的视觉多模态推理模型&#xff0c;专为处理复杂视觉任务而设计。这个模型最厉害的地方在于&#xff0c;它能像人类一样&…...

GitHub 狂飙 4.7 万 Star!Hermes Agent:会自我进化的 AI 助手

最近开源 AI 圈最炸的项目&#xff0c;非 Hermes Agent 莫属&#xff01; Hermes Agent从2026 年 2 月底正式开源&#xff0c;短短 2 个月内 GitHub 星标突破 4.7 万 &#xff0c;直接登顶 GitHub Trending 全站第一&#xff0c;成为 2026 年增长最快、最受开发者追捧的 AI Ag…...