打印一个正方形,哪里出问题了

#include <stdio.h>
int main()
{
int a;
//边长
int j,k;
//j控制横k控制竖
printf("请输入边长=");
scanf("%d",&a);
for(j=0;j<a;j++)
{
printf("※\n");
for(k=0;k<a;k++)
printf("※");
}
return 0;
}

错误之处:重复输出了※,实现输出时的思路不对
改正如下:

#include <stdio.h>
int main()
{
int a;
//边长
int j,k;
//j控制横k控制竖
printf("请输入边长=");
scanf("%d",&a);
for(j=0;j<a;j++)
{
    for(k=0;k<a;k++)
       printf("※");
    printf("\n");
}
return 0;
}

测试图:

img

如有帮助,还请帮忙点下采纳!感谢!

按这样修改:

#include <stdio.h>
int main()
{
    int a;
    //边长
    int j, k;
    //j控制横k控制竖
    printf("请输入边长=");
    scanf("%d", &a);
    for (j = 0; j < a; j++)
    {

        for (k = 0; k < a; k++)
            printf("※");
        printf("%\n");
    }
    return 0;
}

img

换行的时候,为什么还要输出一个字符,只输出换行就够了

img

#include <stdio.h>
int main()
{
    int a;
//边长
    int j,k;
//j控制横k控制竖
    printf("请输入边长=");
    scanf("%d",&a);
    for(j=0; j<a; j++)
    {
        //  printf("※\n");
        for(k=0; k<a; k++)
            printf("※");
        printf("\n");
    }
    return 0;
}