宸宸城堡 发表于 2021-11-24 14:23:45

求助看看这段代码错在哪了


#include <stdio.h>
int main()
{
        int n,i=0,j=0;
        char c;
        scanf("%d %c",&n,&c);
        char p;
        for(i=0;i<n;i++)
        {
                for(j=0;j<n;j++)
                {
                        if(i==0||i==n-1)
                        {
                                if(j==0||j==n-1) p=='#';
                                else                        p=='-';
                        }
                        else if(j==0||j==n-1)
                        {
                                if(i!=1&&i!=n-1) p=='|';
                        }
                        else if(i==1||i==n-2)
                        {
                                if(j%2==1)               p='*';
                                else                       p='-';
                        }
                        else if(j==1||j==n-2)
                        {
                                if(i%2==1)               p='*';
                                else                       p='|';
                        }
                        else                                p=c;
                }
        }
        for(i=0;i<n;i++)
        {
                for(j=0;j<n;j++)
                {
                        if(j==n-1) printf("%c\n",p);
                        else            printf("%c",p);
                }
        }
        return 0;
}

t1: dzy吃披萨
题目描述
dzy是一个披萨爱好者,尤其喜欢芝心披萨。
于是,这一次他来到了一家DIY披萨店,试图定制一个方形芝心披萨。
方形芝心披萨形状如下:最外圈为面皮,次外圈为面皮芝心相间,且四角均为芝心。其余部分为馅料。
dzy将给出披萨的尺寸和馅料的种类,并且需要你将定制的披萨转化为图形展示给销售员。
(ps:由于题目描述过于抽象,可以参考样例来进一步理解。)
输入格式
输入包含两行。
第一行包含一个整数,表示披萨的尺寸。
第二行包含一个字符,表示披萨的馅料。
输出格式
输出dzy定制版芝心披萨的图形。
其中,我们用“*”代表芝心,“-”代表上下两层的面皮,“|”代表左右两侧的面皮,“#”代表四角的面皮。

输入 #1
5
a
输出 #1
#---#
|*-*|
||a||
|*-*|
#---#


输入 #1
9
@
输出:
#-------#
|*-*-*-*|
||@@@@@||
|*@@@@@*|
||@@@@@||
|*@@@@@*|
||@@@@@||
|*-*-*-*|
#-------#

在吗周末 发表于 2021-11-29 09:55:57

1.char p这样不行
2. 第14行p=='#',应该是p = '#';第15行也是这个问题;
这是你程序的问题,我没有考虑题目
页: [1]
查看完整版本: 求助看看这段代码错在哪了