Problem Description

把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。

Input

每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。

Output

每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。

第二十二题:找规律题首先要考虑到前n-1排和第n排不一样,第n排全部输出总共2*n-1个字符,而前n-1排需要找规律:
第一个字符所在的位置为n-(i-1),其中i代表的是第i行;而第二个字符所在的位置是n+(i-1),注意:最后一个字符后面没有空格,除下这两个位置在小于等于n+(i-1)的位置上全是空格,然后写代码即可。

#include<cstdio>

using namespace std;
int main(){
    char ch;
    int n;
    int flag = 0;
    while(scanf("%c",&ch)!=EOF){
        if(ch=='@'){
            break;
        }
        scanf("%d",&n);
        getchar();
        if(flag == 1){//在第一个三角形之后,每次在之前空一行 
            printf("\n");
        }
        
        for(int i = 0;i < n-1;i++){//输出前n-1行 
            for(int j = 1;j <= n+i;j++){
                if(i==0&&j==n){
                    printf("%c",ch);
                    continue;
                }

if((j == n-i||j == n+i)&&i!=0){//不是第一列 
                    printf("%c",ch);
                    continue;
                }
                printf(" ");
            }
            printf("\n");
        }
        for(int k = 0;k < 2*n-1;k++){//输出第n行 
            printf("%c",ch);
        }
        printf("\n");
        flag = 1;
    }
    
    return 0;
}

程序设计第二十二题 空心三角形相关推荐

  1. code第一部分数组:第二十二题 偶数次中查找单独出现一次的数

    code第一部分数组:第二十二题 偶数次中查找单独出现一次的数 Given an array of integers, every element appears twice except for o ...

  2. 经典算法题每日演练——第二十二题 奇偶排序

    原文:经典算法题每日演练--第二十二题 奇偶排序 这个专题因为各种原因好久没有继续下去了,MM吧...你懂的,嘿嘿,不过还得继续写下去,好长时间不写,有些东西有点生疏了, 这篇就从简单一点的一个&qu ...

  3. 第七章第二十二题(计算一个字符串中大写字母的数目)(Calculates the number of uppercase letters in a string)

    第七章第二十二题(计算一个字符串中大写字母的数目)(Calculates the number of uppercase letters in a string) *7.22(计算一个字符串中大写字母 ...

  4. 问题一百四十二:空心三角形

    点击打开链接(空心三角形) PS: 输出结果为这样,系统才接受: X 2  X XXX X 2 ******     //空行  X XXX #include<stdio.h>int ma ...

  5. 牛客网(剑指offer) 第二十二题 从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. <?php/*class TreeNode{var $val;var $left = NULL;var $right = NUL ...

  6. 第二章第二十二题(金融应用:货币单位)(Financial application: monetary units)

    *2.22(金融应用:货币单位)改写程序清单2-10,解决将double型值转换为int型值可能会造成精度损失问题.以整数值作为输入,其最后两位代表的是美分币值.例如:1156就表示的是11美元56美 ...

  7. 【软考软件评测师】第二十二章 法律法规专题

    [软考软件评测师]第二十二章 法律法规专题 第二十二章 法律法规专题 [软考软件评测师]第二十二章 法律法规专题 第一部分 知识点集锦 1.著作权法 1)保护期限 2)构成法律 3)保护客体 4)著作 ...

  8. stm32 文件系统dma大小_「正点原子NANO STM32F103开发板资料连载」第二十二章 DMA 实验...

    1)实验平台:[正点原子] NANO STM32F103 开发板 2)摘自<正点原子STM32 F1 开发指南(NANO 板-HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 ...

  9. 山海演武传·黄道·第一卷 雏龙惊蛰 第二十二 ~ 二十四章 真龙之剑·星墟列将...

    山海演武传·黄道·第一卷 雏龙惊蛰 第二十二 ~ 二十四章 真龙之剑·星墟列将 "我是第一次--请你,请你温柔一点--"少女一边娇喘着,一边将稚嫩的红唇紧贴在男子耳边,樱桃小嘴盈溢 ...

最新文章

  1. jQuery EasyUI使用教程之创建可折叠面板
  2. Java基础day13
  3. 三大纪律七项注意(Access数据库)
  4. STM32F4 串口DMA
  5. python数据库实现注册函数_10.注册和登录功能实现(3)—— 注册数据写入数据库...
  6. UIApplication深入研究
  7. java虚拟机相关知识点(全网最全)
  8. 2018美赛C题论文学习笔记1
  9. carrot2 融入自己的中文分词器
  10. 2020计算机组成原理课程设计(桂电)
  11. 基于Keras+YOLOv3的口罩佩戴情况检测系统【超详细!!!保姆级教程】
  12. 网站跳转第三方QQ、微信登陆
  13. matlab中的常用符号,matlab特殊符号表
  14. 面了一个37岁的程序员,我很慌......
  15. 设计师常用网站,建议收藏
  16. 浙大小姐姐,真有你的!
  17. Couldn‘t flush user prefs: java.util.prefs.BackingStoreException: Couldn‘t get file lock
  18. ubuntu windows双系统时间不一致
  19. Atcoder abc A~E
  20. 下一个风口:正能量算法

热门文章

  1. sketchup 图片转模型_SketchUp插件:位图转模型使用技巧
  2. 半导体的基础-三极管的工作原理,史上绝无仅有的理解方式
  3. c编程----段定义的使用
  4. swiper 重新初始化
  5. FPGA中en-rdy机制和req-ack机制的区别
  6. 【个人记录 | 研二预答辩】
  7. Preserving Prefix Integrity
  8. U盘格式选择 FAT32、exFAT、NTFS
  9. 加密解密验签概念理解
  10. 创建一个IntelliJ Idea文件模板,将光标放在文件中的特定位置