LQ0022 打印大X打印图形

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0022 打印大X打印图形相关的知识,希望对你有一定的参考价值。

题目来源:蓝桥杯2015初赛 C++ C组E题

题目描述
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。
为了便于比对空格,所有的空白位置都以句点符来代替。
要求输入两个整数m n,表示笔的宽度,X的高度。

输入格式
输入存在多组数据
每组测试数据输入一行,包含两个整数,用空格分开
(0<m<n, 3<n<1000, 保证n是奇数)

输出格式
要求输出一个大X

输入样例
3 9
4 21
输出样例

..
.



.
.
.


.
.






…**



***…






..

问题分析
根据题意来写程序,不解释。

AC的C语言程序如下:

/* LQ0022 打印大X */

#include <stdio.h>
#include <string.h>

#define N 1000
char mp[N + 1][N + 1];

int main()

    int m, n;
    while (~scanf("%d%d", &m, &n)) 
        memset(mp, '.', sizeof mp);

        /* 左上到右下设置*号 */
        for (int i = 1; i <= n; i++)
            for (int j = i; j <= m + i - 1; j++)
                mp[i][j] = '*';

        /* 右上到左下设置*号 */
        for (int i = 1; i <= n; i++)
            for (int k = 1, j = 2 * (n / 2) + 1 - i + m; k <= m; k++, j--)
                mp[i][j] = '*';

        for (int i = 1; i <= n; i++) 
            for (int j = 1; j <= 2 * (n / 2) + m; j++)
                putchar(mp[i][j]);
            putchar('\\n');
        
    

    return 0;

以上是关于LQ0022 打印大X打印图形的主要内容,如果未能解决你的问题,请参考以下文章

LQ0183 打印图形程序填空

LQ0122 等腰三角形打印图形

蓝桥杯历届-打印大X

蓝桥杯历届-打印大X

第六届蓝桥杯 软件类省赛真题 第九题:打印大X

LQ0179 打印X程序填空