程序建设很好,但它写入空白屏幕

时间:2013-11-07 23:18:56

标签: c

我有问题,抱歉,如果它的愚蠢,但我是新来的。我写了一个程序,当我输入变量器时,它没有出现在屏幕上,它表示程序已经完成,但他没有驱动矩形它应该做什么。任何人都看错了。

编辑:我刚刚搬过“;”从for循环但只是firts如果是在其他两个不工作。

矩形应该写成类似于

+-------+
|       |  
|       |
+-------+ 

这是代码

    #include <stdio.h>

int main()

{
    int a,b,i,j;
    printf("Enter sites of rectangle ");
    scanf("%d %d", &a, &b);

    for (i=1; i<=a;i++)
    {
        for (j=1; j<=b; j++)
        {
            if (i==1 && (j==1 || j == b)) printf("+"); 
            if (i == 1 && (j > 1 && j < b)) printf("-");
        }

        {
            if (i != 1 && i != a && (j==1 || j==b)) printf ("|"); 
            if (i !=1 && i!=a && (j > 1 && j < b) ) printf (" ");
        }
        {
             if (i==a && (j==1 || j == b)) printf("+"); 
             if (i ==a  && (j > 1 && j < b)) printf("-");

        }
    }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

在最新的代码粘贴中,

for (j=1; j<=b; j++);
                    ^ this semi colon needs to go away

原因是,for (j=1; j<=b; j++);for (j=1; j<=b; j++) {}

相同

以下代码不在循环中。

另外,这里有一个提示画顶线的提示:

putchar('+');
for (j=1; j<=b; j++) {
    putchar('-');
}
putchar('+');
putchar('\n');

对于中间线(在循环中)的相同想法,然后最后一行与第一行相同。如果您认为代码写得太多' - ',您可以将for循环中的'b'更改为'b-2'