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

牛客BC68,X型图案

描述

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

输入描述:

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

输出描述:

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

示例1

输入:

5

复制输出:

*   ** * *  * * 
*   *

复制

示例2

输入:

6

复制输出:

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

代码

#include <stdio.h>int main()
{int n = 0;while (~scanf("%d", &n)){//n*n的数组,对角线初始化为*,其余初始化为‘ ’,最后打印这个二维数组char arr[20][20];int i = 0, j = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){//主对角线if (i == j){arr[i][j] = '*';}//反对角线else if ((i + j) == (n - 1)){arr[i][j] = '*';}else{arr[i][j] = ' ';}printf("%c", arr[i][j]);}printf("\n");}}return 0;
}
//  这么牛逼的代码是谁写的

理解

 while (~scanf("%d", &n))

在此处使用~

目的是循环输入数字,当无法识别到数字时

返回值为EOF即-1

~此操作符为取反操作符

对一个数的二进制按位取反

对整个数,包括符号位都可以按位取反。

-1即取反为0

即为假停止循环

后对对角线进行打印


http://www.mrgr.cn/news/31130.html

相关文章:

  • 【JS】path的使用说明
  • STM32G474RE使用SPI1中断发送和接收8位数据
  • 热点|创邻图查询范式引爆LDBC TUC2024
  • Unity实现自己的协程系统
  • 文件上传js代码
  • Virtuoso服务在centos中自动停止的原因分析及解决方案
  • 【云安全】云服务安全攻防
  • U 盘显示需要格式化才能用?一针见血的修复方法在这里!速看!
  • 量子噪声流加密(二:如何隐匿通信密文)
  • 蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性
  • Centos 7 搭建Samba
  • YOLOv5白皮书-第Y1周:调用官方权重进行检测
  • Spring MVC 启动与请求处理流程解析
  • 环保行动中的关键力量:油烟净化器如何发挥重要作用
  • 乐观锁、悲观锁及死锁
  • 抖音怎么录屏保存?网页录屏和直播内容录制屏幕工具软件推荐
  • Ubuntu 22.04 源码下载的几种方法
  • 【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)
  • 鸿蒙手势交互(三:组合手势)
  • 模型案例:| 篮球识别模型