活动地址:毕业季·进击的技术er

夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始。这是一个毕业的月份,每年看到很多毕业生都离校上班,在校生准备考试和暑假实习,都非常感慨,不管怎样,作为在校生,玩好的同时,还是要能够扎实的学习,打好坚实基础,从初学C语言开始,为后续的实习找工作做准备。


文章目录

  • 前言
  • 1、打印空心正方形
    • 1.1 图形1——无空格版
    • 1.2 图形2——有空格版
    • 1.3 图形3——旋转45度,没有空格版
    • 1.4 图形4——旋转45度,有空格版
  • 总结

前言

前面已经在【C语言练习——打印正方形及其变形】、【C语言练习——打印空心下三角及其变形】、【C语言练习——打印空心上三角及其变形】 练过打印空心上三角及其变形、打印空心三角形及其变形、打印正方形及其变形。

本文在此基础上,练习打印空心正方形及其变形


1、打印空心正方形

1.1 图形1——无空格版

//打印空心正方形 无空格
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 || j == 0 || i == n - 1 || j == n - 1)printf("*");elseprintf(" ");//不在边界上的点都是空格            }printf("\n");}}return 0;
}

结果见下图:

1.2 图形2——有空格版

//打印空心正方形 空格版
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 || j == 0 || i == n - 1 || j == n - 1)printf("* ");elseprintf("  ");//不在边界上的点都是空格          }printf("\n");}}return 0;
}

结果见下图:

1.3 图形3——旋转45度,没有空格版

//打印正方形,旋转45度,没有空格版
int main()
{int n = 0;while (scanf("%d", &n) != EOF){//打印上半部分 nfor (int i = 0; i < n; i++){//打印一行//打印空格int j = 0;for (j = 0; j < n - 1 - i; j++){printf(" ");}//打印*for (j = 0; j < 2 * i + 1; j++){//满足条件输出 * ,即在边界上就是 *if (j == 0 || j == 2 * i )printf("*");elseprintf(" ");//不在边界上的点都是空格}printf("\n");}//打印下半部分 n-1for (int i = 0; i < n - 1; i++){//打印一行//打印空格int j = 0;for (j = 0; j <= i; j++){printf(" ");}//打印*for (j = 0; j < (n - 1 - i) * 2 - 1; j++){//满足条件输出 * ,即在边界上就是 *if (j == 0 || j == (n - 1 - i) * 2 - 2)printf("*");elseprintf(" ");//不在边界上的点都是空格         }printf("\n");}}return 0;
}

结果见下图:

1.4 图形4——旋转45度,有空格版

//打印正方形,旋转45度,有空格版
int main()
{int n = 0;while (scanf("%d", &n) != EOF){//打印上半部分 nfor (int i = 0; i < n; i++){//打印一行//打印空格int j = 0;for (j = 0; j < n - 1 - i; j++){printf(" ");}//打印*for (j = 0; j <= i; j++){//满足条件输出 * ,即在边界上就是 *if (j == 0 || i == j)printf("* ");elseprintf("  ");//不在边界上的点都是空格}printf("\n");}//打印下半部分 n-1for (int i = 0; i < n - 1; i++){//打印一行//打印空格int j = 0;for (j = 0; j <= i; j++){printf(" ");}//打印*for (j = 0; j < (n - 1 - i); j++){//满足条件输出 * ,即在边界上就是 *if (j == 0 || j == n - i - 2)printf("* ");elseprintf("  ");//不在边界上的点都是空格           }printf("\n");}}return 0;
}
}

结果见下图:


总结

本文练习打印空心正方形及其变形,主要练习了:

  • 外循环、内循环的应用
  • 注意行数、空格数、符号*数之间的数学表达式

活动地址:毕业季·进击的技术er

【C语言练习——打印空心正方形及其变形】相关推荐

  1. 【C语言练习——打印空心上三角及其变形】

    活动地址:毕业季·进击的技术er 夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始.这是一个毕业的月份,每年看到很多毕业生都离校上班,在校生准备考试和暑假实习,都非常感慨,不管怎样,作为 ...

  2. 【C语言练习——打印空心三角形】

    活动地址:毕业季·进击的技术er 夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始.这是一个毕业的月份,每年看到很多毕业生都离校上班,在校生准备考试和暑假实习,都非常感慨,不管怎样,作为 ...

  3. 【C语言练习——打印上三角及其变形(带空格版)】

    活动地址:毕业季·进击的技术er 夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始.这是一个毕业的月份,每年看到很多毕业生都离校上班,在校生准备考试和暑假实习,都非常感慨,不管怎样,作为 ...

  4. 66-C语言-打印空心正方形

    问题: 从键盘输入一个数,表示正方形的边的*个数,从而打印出空心正方形. 思路: 一般这种图形题都是观察出来的. 发现第一行和最后一行,都是全打印* 其余行则是第一个和最后一个打印*,其余位置为空格. ...

  5. 程序题——打印空心正方形

    请以尽量高效的方法用"*"打印出一个空心正方形,num为边长 #include <stdio.h>int main() {int x,y,num;printf(&quo ...

  6. 【C语言练习——打印下三角及其变形】

    CSDN话题挑战赛第1期 活动详情地址:活动地址 参赛话题:大学学习月/季度总结 话题描述:对自己大学的月/季度学习的复盘及展望 文章目录 前言 1.打印下三角 1.1 下三角左对齐版 2.2 下三角 ...

  7. c语言side输出空心正方形,请帮忙完成这个c#语言打印正方形的程序

    程序: using System; using System.Collections.Generic; using System.Text; namespace c { class Point { p ...

  8. python打印空心正方形

    第一种方法:单for循环 #定义正方形边长 rows = 5 #for循环打印 for x in range(rows):#if判断,筛选第一行与最后一行if x == 0 or x == rows- ...

  9. python打印数字正方形_python打印空心正方形-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 python 实现全排列的 打 ...

最新文章

  1. 人工智能医疗是把双刃剑,“对抗性攻击”后可导致误判
  2. Hinton神经网络公开课编程练习1 The perceptron learning algorithm
  3. text/html与text/plain有什么区别?
  4. git回滚到某一个commit
  5. 网众linux安装教程,网众Linux搭建Samba教程
  6. OPENCV-4 学习笔记
  7. 分数优先遵循志愿php源码_分数优先 遵循志愿
  8. python进阶项目设计_Python进阶循环设计
  9. 【LeetCode笔记】70. 爬楼梯(Java、动态规划)
  10. oracle的homes在哪里配置,Oracle字符集 简介
  11. jquery自定义banner图滚动插件---(解决最后一张图片倒回第一张图片的bug)
  12. python字典创建,删除,增加,合并等方法的调用
  13. win7修复计算机消失,Win7一键修复丢失DLL,常见dll丢失一键修复方法
  14. Android最常用的控件ListView(详解)
  15. ipmitool源码解析(一)——一次带内ipmitool raw data发送过程
  16. 思科OSPF配置实例(转)
  17. 数据库的那些乱七八糟烦人的锁(数据库锁机制有这一篇就够了)
  18. 地震速度分析matlab程序,地震波频谱分析。。。。。
  19. Uni-App开发框架介绍
  20. TOJ 4120 Zombies VS Plants

热门文章

  1. MindManager 新春拼团,暖心如初
  2. python中三种分支结构的_python二分支结构
  3. redis搭建集群,拒绝连接问题解决
  4. 行业应用广泛的天馈线测试仪 当属TFN 100系列天馈线驻波比测试仪
  5. 说说WebView那些事(header,cookie,注入js)
  6. IMU标定参数的使用
  7. 归并排序和堆排序讲解
  8. 8张图理解Java---importnew---programcreek
  9. 使用python实现3D点云算法模型
  10. 获取应用程序实例句柄HINSTANCE