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

能不能解释一下这个该怎么写循环条件?

使用双重循环实现输出正三角形,效果如下

在代码编辑器中:
第8、13行根据注释提示补全所有代码
hello.c
#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)
    {
        /* 观察每行的空格数量,补全循环条件 */
        for(    ? ;  ? ;  ?  ) 
        {
            printf(" ");    //输出空格
        }
        /* 观察每行*号的数量,补全循环条件 */
        for( ? ;  ? ;  ?     )
        {
            printf("*");   //每行输出的*号
        }
        printf("\n");     //每次循环换行
    }
    return 0;
}

正在回答

3 回答

两图分别是就j<4和j<5的结果。

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

#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)        //此处循环5次,为5行
    {
        /* 观察每行的空格数量,补全循环条件 */            //观察得到第一行显示5个空格+星星,第二行四个空格+星星.所以:
        for(    j=i ;  j<=5-i ;  j++  )  
        {
            printf(" ");    //输出空格
        }
        /* 观察每行*号的数量,补全循环条件 */
        for( k=0 ;  k<2*i-1 ;  k++     ) 
        {
            printf("*");   //每行输出的*号
        }
        printf("\n");     //每次循环换行
    }
    return 0;
}


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

慕粉1255299925 提问者

j和K表达式中的逻辑关系有些不懂…能讲讲吗
2017-04-14 回复 有任何疑惑可以回复我~
#2

笑看暀倳洳埖

第一行不应该是3个空格吗,应该是j<4才对,可是运行出来结果不对,求解释!
2017-04-15 回复 有任何疑惑可以回复我~

#include <stdio.h>

int main()

{

    int i, j, k;

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

    {

        /* 观察每行的空格数量,补全循环条件 */

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

        {

            printf(" ");    //输出空格

        }

        /* 观察每行*号的数量,补全循环条件 */

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

        {

            printf("*");   //每行输出的*号

        }

        printf("\n");     //每次循环换行

    }

    return 0;

}


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

慕粉4166168

试着画个图会很直观。
2017-04-13 回复 有任何疑惑可以回复我~
#2

慕粉1255299925 提问者

j和k两个表达式有点不理解,能详细说明下吗,谢谢你了
2017-04-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

能不能解释一下这个该怎么写循环条件?

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