zoukankan      html  css  js  c++  java
  • 2015年蓝桥杯省赛A组c++第4题

    /*
    StringInGrid函数会在一个指定大小的格子中打印指定的字符串。 
    要求字符串在水平、垂直两个方向上都居中。 
    如果字符串太长,就截断。 
    如果不能恰好居中,可以稍稍偏左或者偏上一点。 
    下面的程序实现这个逻辑,请填写划线部分缺少的代码。
    
    对于题目中数据,应该输出:
    
    +------------------+
    |                  |
    |     abcd1234     |
    |                  |
    |                  |
    +------------------+
    */
    
    
    #include <stdio.h>
    #include <string.h>
    
    void StringInGrid(int width, int height, const char* s)
    {
        int i,k;
        char buf[1000];
        strcpy(buf, s);
        if(strlen(s)>width-2) buf[width-2]=0;
    
        printf("+");
        for(i=0;i<width-2;i++) printf("-");
        printf("+
    ");
    
        for(k=1; k<(height-1)/2;k++){
            printf("|");
            for(i=0;i<width-2;i++) printf(" ");
            printf("|
    ");
        }
    
        printf("|");
    
        printf("%*s%s%*s",/*(width-strlen(buf)-2)/2,"",buf,(width-strlen(buf)-2+1)/2,""*/);  //填空
    
        printf("|
    ");
    
        for(k=(height-1)/2+1; k<height-1; k++){
            printf("|");
            for(i=0;i<width-2;i++) printf(" ");
            printf("|
    ");
        } 
    
        printf("+");
        for(i=0;i<width-2;i++) printf("-");
        printf("+
    ");
    }
    
    int main()
    {
        StringInGrid(20,7,"abcd1234");
        return 0;
    }

    tz@COI HZAU

    2018/3/14

  • 相关阅读:
    洛谷 P1092 虫食算
    2018.3.25校内互测
    洛谷 P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows
    洛谷 P1879 [USACO06NOV]玉米田Corn Fields
    洛谷 P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper
    ZJOI Day 2 游记
    editorial-render A
    BZOJ2904
    BZOJ 1600
    构造脚本语言
  • 原文地址:https://www.cnblogs.com/acm-icpcer/p/8568315.html
Copyright © 2011-2022 走看看