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

4-12的控制空格的代码看不懂!

是由行数 i 控制的,观察输出的三角形(假设该三角形是由5行构成)你会发现 每一行 * 的数量为 2*i+1(i 从零开始),每一行空格的数量为 5-i (i 从1开始)(for(int i=0;i<5;i++){
  for(int j=1;j<5-i;j++)
  printf(" ");
  {
   for(k=0;k<2*i+1;k++)
   printf("*");
  }
  printf("\n");
 }

为什么每一行空格的数量为 5-i ,按照图片上面的来看,第一行应该有6个空格+1个星星;第二行应该有4个空格+2个星星;第三行应该有2个空格+5个星星;第四行应该有0个空格+7个星星;每行的个数加起来都都为7才对啊!http://img1.sycdn.imooc.com//58f35c5a00018b2d05500380.jpg

请大神帮我解答一下,我已经想了两天了但还是想不出个所以然来!

正在回答

2 回答

不知道你的空格是怎么数的,不过这不重要,你只需要逐层递减一个空格就行了。5个也好,6个也好,7个也好都行

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

首先,同学你认为的第一行应该有6个空格就是错的,是5个,并且逐层减1,而星星的要求是逐层加2,你要看清楚题目的要求哦!

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

骑着鲸鱼去旅行 提问者

逐层加两个星星我明白,但是第一行只要5个空格我理解不了!最后一行有7个星星,那第一行不是应该是7个星星减去1个星星,那可不就是是有6个空格了嘛!
2017-04-17 回复 有任何疑惑可以回复我~
#2

骑着鲸鱼去旅行 提问者

图片上面画的不就是这样子的嘛?我现在真的有点懵了!
2017-04-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

4-12的控制空格的代码看不懂!

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