为了账号安全,请及时绑定邮箱和手机立即绑定

j 是空格的位置吗? 我写 j = 1, j < 5-i 不才应该对吗?

#include <stdio.h>
int()
{
int i,j,k;
for (i=1;i<5;j++)
{
   for(j=1;j<5-i;j++)
   {
    printf("");
     }
     for (k=1; k<=2i-1;k++)
     {
     printf("*");
     }
     printf("\n");
     }
     return 0;
     }




正在回答

2 回答

同学,j代表的的确是空格数量

你这想法是正确的,只是代码有些问题所以运行不出来

另外,由于网站缓存和数据库不完善的原因,即使你运行结果是正确的代码还是不会通过的,提前知悉

修改后的代码如下:

#include <stdio.h>
int main()
{
int i,j,k;
for (i=1;i<5;i++)//是i++不是j++
{
   for(j=1;j<=5-i;j++)//改为j<=5-i否则少一个空格
   {
    printf(" "); //打印的是空格而不是空
     }
     for (k=1; k<=2*i-1;k++)
     {
     printf("*");
     }
     printf("\n");
     }
     return 0;
     }
     最后说一句,望采纳...


0 回复 有任何疑惑可以回复我~
#1

Andrew111 提问者

谢谢答复,我想问的是 j为什么只被当成空格数量而不是空格位置。换言之,空格难道不是指*之前的空位吗?如果打成 j=i;j《=5,那么空格数不就多了吗?例如最后一行空格就是j=4,就不满足空格应该只是第一位的事实啊。
2016-09-12 回复 有任何疑惑可以回复我~
#2

JustWannaHugU 回复 Andrew111 提问者

第一个问题,因为你打印的是空格“ ”所以j循环几次就打印几个空格,空格指的就是*之前的空位;第二个问题,源代码是j<5而不是j<=5所以空格数没有多 你讨论的代码到底是你自己发的代码还是题目中的代码?
2016-09-12 回复 有任何疑惑可以回复我~
#3

JustWannaHugU 回复 Andrew111 提问者

你发的代码有问题,我已经给你改过来的。如果是题目中的代码的话,那你就是看错了应该是j<5的 采纳下吧,多谢
2016-09-12 回复 有任何疑惑可以回复我~
#4

Andrew111 提问者 回复 JustWannaHugU

我讨论的是题目中的
2016-09-12 回复 有任何疑惑可以回复我~
#5

Andrew111 提问者

非常感谢!
2016-09-12 回复 有任何疑惑可以回复我~
查看2条回复

#include <stdio.h>

int main()

{

int i,j,k;

for (i=1;i<5;i++)

{

   for(j=1;j<5-i;j++)

     {

         printf("");

     }

     for(k=1;k<=2*i-1;k++)

       {

          printf("*");

       }

     printf("\n");

}

     return 0;

}


0 回复 有任何疑惑可以回复我~
#1

Andrew111 提问者

...神马意思
2016-09-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

j 是空格的位置吗? 我写 j = 1, j < 5-i 不才应该对吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信