2.模拟问题——2.使用二维数组输出图形

在这里插入图片描述

用二维数组描述图形

首先要计算出整个输出的方框大小,从而判定相应关键循环点

#include <cstdio>
char arr[1000][3000];
int main() {int h;//初始化,全部内部填空格while(scanf("%d",&h) != EOF){for (int i = 0; i < h; ++i) {for (int j = 0; j < 3*h-2; ++j) {arr[i][j] = ' ';}}//填充梯形,从最后一行开始往上填,每次少填两个for (int i = h-1, begin = 0; i >= 0; --i) {for (int j = begin; j < 3*h-2; ++j) {arr[i][j]='*';}begin += 2;}for (int i = 0; i < h; ++i) {for (int j = 0; j < 3*h-2; ++j) {printf("%c",arr[i][j]);}printf("\n");}}return 0;
}

使用字符串输出

一般的输入输出示例:

输入示例

输入一个十进制整数

scanf("%d",&n);

输入一个字符串

char str[10];
scanf("%s",str);//注意,字符和数组可以省略&

输出示例

输出一个十进制整数

printf("%d",n);

输出一个字符串

printf("%s",str);//注意,字符和数组可以省略&

使用字符串输出简化上述代码

每一行需要视作一个字符串,需要将相应字符串的末尾加上结束符’\0’

#include <cstdio>
char arr[1000][3000];
int main() {int h;//初始化,全部内部填空格while(scanf("%d",&h) != EOF){for (int i = 0; i < h; ++i) {for (int j = 0; j < 3*h-2; ++j) {arr[i][j] = ' ';}arr[i][3*h-2] = '\0';/注意这里的改动,\0用来指示每一行的结束}//填充梯形,从最后一行开始往上填,每次少填两个for (int i = h-1, begin = 0; i >= 0; --i) {for (int j = begin; j < 3*h-2; ++j) {arr[i][j]='*';}begin += 2;}for (int i = 0; i < h; ++i) {printf("%s\n",arr[i]);/注意这里的改动,直接输出字符串}}return 0;
}

图案打印问题的一般思路

  1. 申请二维数组,(一般要是固定大小的,放在全局变量的位置);
  2. 根据条件从任意方向开始设置二维数组;
  3. 把图案每一行当作字符串,边界后一个位置附‘\0’,表示字符串结尾(也可以在申请完二维数组后,将数组全部初始化为’\0’)
  4. 使用printf、%s,循环打印每一行

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

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

相关文章

如何设置从小程序跳转到其它小程序

​有的商家有多个小程序&#xff0c;希望能够通过一个小程序链接到所有其它小程序&#xff0c;用户可以通过点击跳转链接实现从一个小程序跳转到另一个小程序。要怎么才能实现这样的跳转呢。下面具体介绍。 1. 设置跳转。在小程序管理员后台->分类管理&#xff0c;添加一个…

数据结构测试题

目录 1.闰年判断 2.志愿者选拔 3.单词接龙 4.对称二叉树 5.英雄南昌欢迎您 6.时间转换 7.矩阵乘法 8. Huffuman树 1.闰年判断 题目描述&#xff1a; 给定一个年份&#xff0c;判断这一年是不是闰年。 当以下情况之一满足时&#xff0c;这一年是闰年&#xff1a; 1. 年…

ubuntu20.04设置docker容器开机自启动

ubuntu20.04设置docker容器开机自启动 1 docker自动启动2 容器设置自动启动3 容器自启动失败处理 1 docker自动启动 &#xff08;1&#xff09;查看已启动的服务 $ sudo systemctl list-units --typeservice此命令会列出所有当前加载的服务单元。默认情况下&#xff0c;此命令…

Revit-二开之立面视图创建FilledRegion-(3)

在上一篇博客中介绍了FilledRegion的创建方法&#xff0c;这种方法通常只在平面视图中适用&#xff0c;在三维视图中也是无法创建的&#xff08;目前研究的是这样的&#xff0c;如果有其他方法&#xff0c;请赐教&#xff09;。 本片文章介绍一个下在立面视图中创建FilledRegio…

《Spring Security 简易速速上手小册》第6章 Web 安全性(2024 最新版)

文章目录 6.1 CSRF 防护6.1.1 基础知识详解CSRF 攻击原理CSRF 防护机制最佳实践 6.1.2 重点案例&#xff1a;Spring Security 中的 CSRF 防护案例 Demo测试 CSRF 防护 6.1.3 拓展案例 1&#xff1a;自定义 CSRF 令牌仓库案例 Demo测试自定义 CSRF 令牌仓库 6.1.4 拓展案例 2&am…

跨域引起的两个接口的session_id不是同一个

来源场景&#xff1a; RequestMapping(“/captcha”)接口设置了SESSION_KEY&#xff0c;也能获取到&#xff0c;但是到了PostMapping(“/login”)接口就是空的&#xff0c;由于跨域导致的两个session_id不是同一个 /*** 系统用户 前端控制器*/ Controller CrossOrigin(origins…

蓝牙耳机哪个好用性价比高?2024热销蓝牙耳机大测评!选购不焦虑

​近年来&#xff0c;蓝牙耳机已经成为了一个非常热门的选择&#xff0c;不仅因为它们小巧便捷&#xff0c;还因为它们的防水性能、音质和佩戴体验已经逐渐超越了有线耳机。随着越来越多的品牌加入蓝牙耳机的市场竞争&#xff0c;各种类型的蓝牙耳机层出不穷。特别是对于运动爱…

好视通视频会议系统存在任意文件读取漏洞复现 [附POC]

漏洞简介 好视通视频会议是由深圳市华视瑞通信息技术有限公司开发&#xff0c;其在国内率先推出了3G互联网视频会议&#xff0c;并成功应用于SAAS领域。 资产 FOFA:app"好视通-视频会议" POC GET /register/toDownload.do?fileName../../../../../../../../../.…

【前端知识点】

虚拟 dom&#xff1a; 虚拟 dom 就是 vue 通过 js 对象渲染虚拟 dom 的&#xff0c;虚拟 dom 的 js 对象包含节点的类型、属性、子节点等信息&#xff0c;这些虚拟 dom 节点会构成一棵树形结构&#xff0c;用来表示整个页面的结构。 当 vue 组件更新时&#xff0c;会通过 diff…

Camtasia 2023下载安装激活教程

Camtasia作为一体式屏幕录制和视频编辑软件&#xff0c;可为企业、教育工作者和创业者创建视频教程和其他教学视频。它能在任何颜色模式下轻松地记录 屏幕动作&#xff0c;包括影像、音效、鼠标移动轨迹、解说声音等等&#xff0c;另外&#xff0c;它还具有即时播放和编 辑压缩…

ChromeDriver全版本下载教程

确定自己的Chrome版本 step1. 打开Chrome浏览器右上角的三个点&#xff0c;再点击设置 step2. 在设置中点击“关于Chrome”&#xff0c;圈起来的红框即为当前Chrome版本&#xff0c;我的版本就是121.0.6167.185 在json中查找自己对应ChromeDriver版本下载链接 一般教程会让你…

C#中什么是非托管代码?托管代码和非托管代码有什么区别

在C#中&#xff0c;托管代码和非托管代码是两种不同类型的代码&#xff0c;它们在内存管理和执行环境上有所不同。 托管代码&#xff08;Managed Code&#xff09;&#xff1a; 托管代码是由.NET运行时&#xff08;CLR&#xff0c;Common Language Runtime&#xff09;管理和执…