0

我有问题,对不起,如果它很愚蠢,但我是新手。我写了一个程序,当我输入变量时,屏幕上什么也没有出现,它说程序已经完成,但他没有驱动矩形它应该做什么。任何人都可以看到问题所在。

编辑:我刚刚移动了“;” 来自 for 循环,但如果在其他两个没有工作,则只是先开始。

矩形应该写成这样

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

这是代码

    #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;
}
4

1 回答 1

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');

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

于 2013-11-07T23:39:29.983 回答