X图案打印


时间限制: 1 Sec 内存限制: 128 MB

题目描述

请编程序实现:输入一个不大于13的正整数n和一个大写字母ch,输出以字母ch为中心,边长为n的X形图案。其中,若从上往下看,在X图案4条边上的字母都是依次递增的。

在此,认为大写字母’A’-'Z’按顺序构成了一个环形结构,即’Z’与’A’是相邻的。如果n>13,或n<=0,或输入字母不为大写字母,则输出“Input Data Error.”并结束程序。

输入

一个整数n和一个大写字母ch(输入时数字和字母中间允许有空格)

输出

对应的X形图案

样例输入

4X

样例输出

(图中.表示空格)
在这里插入图片描述

杂谈

果然没有真正考过试的人不懂得读题的重要性,有错误输入的提示,而且这俩数据之间可能有空白字符,所以我就不在代码里注释,看谁也没注意到,诶嘿。

代码

#include<stdio.h>
char chchange(int x);
int main () {
    int chx,i,j,n;
    char ch;
    scanf("%d %c",&n,&ch);
    chx=ch-'A';
    if(n>13||n<=0||chx>26) {
        printf("Input Data Error.");
        return 0;
    }
    for (i=-n+1;i<n;i++) {
    /*自吹自擂一下,这个丑爆了的代码稍微好看点的地方就是从-n+1开始循环
    这样刚好可以用i控制输出的字符
    */
        for (j=-n+1;j<n;j++) {
            if(i==j||j==-i) printf("%c",chchange(chx+i));
            else printf(" ");
        }
        printf("\n");
    }
    return 0;
}
char chchange (int x) {
    while (x<0) x+=26;
    x%=26;
    return 'A'+x;
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用下面的代码来打印心形图案: ``` print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)])) ``` 这段代码使用了一个嵌套的循环和一个三目运算符(`if-else` 语句的缩写形式)来构建心形图案的 ASCII 字符版本。 你可以将 `'Love'` 替换成你希望打印的任何字符串,比如 `'I love Python'`。 运行这段代码后,你将会看到一个打印在终端中的心形图案。 例如: ``` L LL LLL LLLL LLLLL LLLLLL LLLLLLL LLLLLLLL LLLLLLLLL LLLLLLLLLL LLLLLLLLLLL LLLLLLLLLLLL LLLLLLLLLLLLL LLLLLLLLLLLLLL LLLLLLLLLLLLLLL LLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL LLLLL ### 回答2: 要打印心形图案,可以使用Python编程语言来实现。以下是一种方法: ```python heart = [ " ** ** ", " ******** ", "**********", "**********", " ******** ", " ******* ", " ***** ", " *** ", " * " ] for line in heart: print(line) ``` 以上代码使用一个字符串的列表来表示心形。每个字符串代表图案的一行。每行都使用星号和空格来绘制心形的轮廓和内部。 通过循环遍历列表,我们可以逐行打印出心形图案。运行这段代码后,将打印一个心形图案在控制台中。 你也可以根据需要调整字符串列表和图案的大小。通过增加或减少字符串的长度,你可以调整图案的宽度。通过在每行之间插入或删除字符串,你可以调整图案的高度。 希望这能帮助你打印一个心形图案! ### 回答3: 要打印心形图案,可以使用Python的绘图库Turtle来实现。 首先,需要导入Turtle库。可以使用以下代码来导入: ```python import turtle ``` 然后,创建一个Turtle对象,并设置它的速度: ```python t = turtle.Turtle() t.speed(10) ``` 接下来,使用Turtle对象的方法来绘制心形图案一个简单的实现方法如下: ```python t.begin_fill() t.fillcolor('red') t.left(140) t.forward(180) t.circle(-90, 200) t.setheading(60) t.circle(-90, 200) t.forward(180) t.end_fill() ``` 最后,调用Turtle对象的done()方法完成绘图: ```python turtle.done() ``` 以上代码会画出一个红色的心形图案。具体的绘制过程如下: 1. 调用begin_fill()方法来开始填充图案; 2. 调用fillcolor()方法来设置填充颜色; 3. 调用left()方法设置画笔的初始角度; 4. 调用forward()方法向前移动一段距离; 5. 调用circle()方法绘制一个圆弧; 6. 调用setheading()方法设置画笔的角度; 7. 重复步骤4-6来完成绘制; 8. 调用end_fill()方法结束填充; 9. 调用done()方法完成绘图。 以上就是使用Python打印心形图案的方法,希望对你有帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值