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

每行空格数量

你们好厉害的样子,为啥第一行不是三个空格?求详解

正在回答

3 回答

http://img1.sycdn.imooc.com//580b2ca70001703403820297.jpg

你确定仔细看了?

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

慕粉4236818 提问者

没看出来,你用三格写个程序我看看
2016-10-22 回复 有任何疑惑可以回复我~
#2

JustWannaHugU 回复 慕粉4236818 提问者

没工夫陪你玩啦,自己较真儿去吧
2016-10-22 回复 有任何疑惑可以回复我~
#3

慕粉4236818 提问者 回复 JustWannaHugU

你也不知道了吧,心虚了,
2016-10-22 回复 有任何疑惑可以回复我~

题目确实没有明确说明“必须打印4个空格”

但通过观察图形,图案的最后一行*号左侧有1个空格对吧?

而通过第一行*号与第四行*号对应的位置进行比对可以看出,第一行*左侧有三个空位才能与第四行平齐

因此整个图形,第一行必须打印4个空格

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

慕粉4236818 提问者

你眼神好犀利,我怎么看不到,那是空格么,你吧正三角形不成正方形,看看是不是三个星号,哪里来最后一行有空格
2016-10-22 回复 有任何疑惑可以回复我~
#2

JustWannaHugU 回复 慕粉4236818 提问者

你确定仔细看了?
2016-10-22 回复 有任何疑惑可以回复我~
#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)
    {
        /* 观察每行的空格数量,补全循环条件 */
        for(j=i;j<5;j++)  //这里j=i注意
        {
            printf(" ");    //输出空格
        }
        /* 观察每行*号的数量,补全循环条件 */
        for(k=0;k<2*i-1;k++) 
        {
            printf("*");   //每行输出的*号
        }
        printf("\n");     //每次循环换行
    }
    return 0;
}

子循环需要全部循环完才能跳出子循环

第一行的话:

i赋值给了j,j<5,就一直循环,i=1,so j=i=1,j<5.空格,j++,

j=2,j<5,空格,j++

.......循环打印空格,

一直直到j=5不满足条件为止

至此共打出了4个空格


ps:如果明白了谢谢采纳~

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

慕粉4236818 提问者

根据那个图形,星号前面只有三个空格,打三个空格不可以么
2016-10-22 回复 有任何疑惑可以回复我~
#2

JustWannaHugU 回复 慕粉4236818 提问者

可以,但题目要求的是四个空格你再仔细看看。另外手打这么半天,不求感谢,给个采纳行吗
2016-10-22 回复 有任何疑惑可以回复我~
#3

慕粉4236818 提问者 回复 JustWannaHugU

题目根本没要求,你没明白我的意思,你打三个空格试试
2016-10-22 回复 有任何疑惑可以回复我~
#4

JustWannaHugU 回复 慕粉4236818 提问者

题目的确没有写“请你打印四个空格”这几个大字。但你观察这个对称的图形,最后一行左边有一个空格对吧?而第一行的的*号比第四行对应*号前面少了三个空位,因此就必须打4个空格
2016-10-22 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

每行空格数量

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