Dr丶温 发表于 2018-3-9 21:37:04

为啥俺这里输出的是长方形不是正方形咧

如题,不知是符号问题还是哪里的问题呢,路过的鱼油帮忙解下呗#include <stdio.h>

int map = {0};



int main(void)
{
        int i, j;
       
        for(i = 0; i < 15; i++)       
        {
                for(j = 0; j < 15; j++)
                {
                        if(i == 0 && j == 0)
                        {
                                printf("╔");
                        }
                        else if(i == 0 && j != 0)
                        {
                                if(i == 0 && j == 14)
                                        printf("╗");
                                else
                                        printf("╦");
                        }
                        else if(i != 0 && j == 0)
                        {
                                if(i == 14 && j == 0)
                                        printf("╚");
                                else
                                        printf("╠");
                        }
                        else if(i == 14 && j != 0)
                        {
                                if(i == 14 && j == 14)
                                        printf("╝");
                                else
                                        printf("╩");
                        }
                        else if(i > 0 && i < 14 && j > 0 && j < 14)
                        {
                                printf("╬");
                        }
                        else
                                printf("╣");                       
                }
                printf("\n");
        }
       
        getch();
        return 0;
}

人造人 发表于 2018-3-9 21:37:05

因为这些字符就无法拼成正方形
无论是最简单的
╔╗
╚╝

还是
╔╦╗
╠╬╣
╚╩╝

又或是
╔╦╦╗
╠╬╬╣
╠╬╬╣
╚╩╩╝

这些字符无法拼成正方形


另外,你的代码逻辑好乱
我修改了你的代码
#include <stdio.h>

void Print(int n)
{
        for(int y = 0; y < n; ++y)
        {
                for(int x = 0; x < n; ++x)
                {
                        if(x == 0 && y == 0)
                        {
                                printf("╔");
                        }
                        else if(x == 0 && y == n - 1)
                        {
                                printf("╚");
                        }
                        else if(x == n - 1 && y == 0)
                        {
                                printf("╗");
                        }
                        else if(x == n - 1 && y == n - 1)
                        {
                                printf("╝");
                        }
                        else if(x == 0)
                        {
                                printf("╠");
                        }
                        else if(x == n - 1)
                        {
                                printf("╣");
                        }
                        else if(y == 0)
                        {
                                printf("╦");
                        }
                        else if(y == n - 1)
                        {
                                printf("╩");
                        }
                        else
                        {
                                printf("╬");
                        }
                }
                printf("\n");
        }
}

int main(void)
{
        for(int i = 1; i < 5; ++i)
        {
                Print(i);
                printf("\n\n");
        }
       

        return 0;
}





╔╗
╚╝


╔╦╗
╠╬╣
╚╩╝


╔╦╦╗
╠╬╬╣
╠╬╬╣
╚╩╩╝


请按任意键继续. . .

Dr丶温 发表于 2018-3-10 07:43:51

人造人 发表于 2018-3-9 22:11
因为这些字符就无法拼成正方形
无论是最简单的
╔╗


噢,原来是符号问题,那俺增加下数组长度,逻辑乱是想减少代码行,不过确实看着很乱,学到了,给大神低头{:10_297:}{:10_297:}{:10_297:}

人造人 发表于 2018-3-10 16:18:43

好吧,我错了,这些字符可以拼成正方形



#include <stdio.h>

void Print(int n)
{
        n = n * 2;
        int X = n * 2 - 1;

        for(int y = 0; y < n; ++y)
        {
                for(int x = 0; x < X; ++x)
                {
                        if(x == 0 && y == 0)
                        {
                                printf("╔");
                        }
                        else if(x == 0 && y == n - 1)
                        {
                                printf("╚");
                        }
                        else if(x == X - 1 && y == 0)
                        {
                                printf("╗");
                        }
                        else if(x == X - 1 && y == n - 1)
                        {
                                printf("╝");
                        }
                        else if(x == 0)
                        {
                                printf("╠");
                        }
                        else if(x == X - 1)
                        {
                                printf("╣");
                        }
                        else if(y == 0)
                        {
                                printf("╦");
                        }
                        else if(y == n - 1)
                        {
                                printf("╩");
                        }
                        else
                        {
                                printf("╬");
                        }
                }
                printf("\n");
        }
}

int main(void)
{
        for(int i = 1; i < 10; ++i)
        {
                Print(i);
                printf("\n\n");
        }


        return 0;
}


╔╦╗
╚╩╝


╔╦╦╦╦╦╗
╠╬╬╬╬╬╣
╠╬╬╬╬╬╣
╚╩╩╩╩╩╝


╔╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╝


╔╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╝


╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝


╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝


╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝


╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝


╔╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╦╗
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╠╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣
╚╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╩╝


请按任意键继续. . .

人造人 发表于 2018-3-10 16:21:49

看来只有在cmd窗口中才是正方形
^_^

Dr丶温 发表于 2018-3-10 17:09:49

人造人 发表于 2018-3-10 16:21
看来只有在cmd窗口中才是正方形
^_^

喵?{:10_266:}{:10_266:}{:10_266:}
页: [1]
查看完整版本: 为啥俺这里输出的是长方形不是正方形咧