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

C语言 —— 图形打印

题目1:
在这里插入图片描述

思路:
如果我们要打印一个实心正方形,其实就是一个二维数组,i控制行,j控制列,行列不需要控制,arr[i][j]直接打印星号即可。
对于空心正方形,我们只需要控制行和列的条件,当i== 0或i<n-1,j==0或j<n-1条件成立时,我们才打印星号,其他地方打印空格即可。

在这里插入图片描述

代码实现如下:

#include <stdio.h>int main()
{int arr[20][20] = { 0 };int n = 0;while (scanf("%d", &n) != EOF){for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){//1.打印星号if ((i == 0) || (i == n - 1) || (j == 0) || (j == n - 1)){printf("* ");}//2.打印空格else{printf("  ");}}printf("\n");}}return 0;
}

题目2:
在这里插入图片描述

思路:
在这里插入图片描述
通过观察我们发现,当i == j时,打印主对角线的星号,当i + j ==n-1时,打印次对角线的星号,其他地方打印空格即可。

代码实现如下:

#include <stdio.h>int main()
{int arr[20][20] = { 0 };int n = 0;while (scanf("%d", &n) != EOF){for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){//1.打印星号if ((i == j) || (i + j) == n-1){printf("*");}//2.打印空格else{printf(" ");}}printf("\n");}}return 0;
}

题目3:
在这里插入图片描述

思路:我们分为上半部分和下半部分的打印:
在这里插入图片描述

#include <stdio.h>int main()
{int line = 0;scanf("%d", &line);//打印上半部分for (int i = 0; i < line; i++){//1.打印空格for (int j = 0; j < line - 1 - i; j++){printf(" ");}//2.打印星号for (int j = 0; j < 2 * i + 1; j++){printf("*");}printf("\n");}//打印下半部分for (int i = 0; i < line - 1; i++){//1.打印空格for (int j = 0; j < i + 1; j++){printf(" ");}//2.打印星号for (int j = 0; j < (line - 1 - i) * 2 - 1; j++){printf("*");}printf("\n");}return 0;
}

相关文章:

  • Centos8 使用编译安装nginx
  • 内网渗透-跨域环境渗透-1
  • GPT实战系列-构建多参数的自定义LangChain工具
  • vue3-admin后台管理系统: 使用Vue3+Vue-Router4 + Element-Plus打造高效后台管理系统
  • Java学习笔记15——类型转换(基本数据类型)
  • 手把手教您如何在国内免费使用GPT4接口的Bing,亲测有效!
  • 收下这份实操案例,还怕不会用Jmeter接口测试工具
  • 深入理解位运算符及其在JavaScript中的应用
  • html5cssjs代码 004 2035年倒计时
  • 揭秘2024美团春招:最全MySQL面试题大全,必看必收藏!
  • web中实现一个账号同一时间只能由一个人使用
  • 【MySQL篇】 MySQL基础学习
  • Objective-C blocks 概要
  • golang中fallthrough简介及用法
  • Java学习笔记18——SQLite3数据库安装与使用
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [iOS]Core Data浅析一 -- 启用Core Data
  • Android单元测试 - 几个重要问题
  • flask接收请求并推入栈
  • iOS小技巧之UIImagePickerController实现头像选择
  • isset在php5.6-和php7.0+的一些差异
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • React组件设计模式(一)
  • Spark学习笔记之相关记录
  • Vue.js源码(2):初探List Rendering
  • 程序员最讨厌的9句话,你可有补充?
  • 初识 beanstalkd
  • 大整数乘法-表格法
  • 当SetTimeout遇到了字符串
  • 动态规划入门(以爬楼梯为例)
  • 浮动相关
  • 关于extract.autodesk.io的一些说明
  • 回流、重绘及其优化
  • 警报:线上事故之CountDownLatch的威力
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 我与Jetbrains的这些年
  • 小李飞刀:SQL题目刷起来!
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​Linux·i2c驱动架构​
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​如何防止网络攻击?
  • #include<初见C语言之指针(5)>
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (3)选择元素——(17)练习(Exercises)
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)计算机毕业设计ssm电影分享网站
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (原)Matlab的svmtrain和svmclassify
  • (转)Linux下编译安装log4cxx
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞