c++编程题2


使用双重循环输出下图:

    *
   ***
  *****
 *******

思路一,每一行(i)先循环输出空格,再循环输出*号:

#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<2*i-1 ;  k++     ) 
        {
            printf("*");   //每行输出的*号
        }
        printf("\n");     //每次循环换行
    }
    return 0;
}


思路二,观察题目发现空格出现在行(i)与列(i)有关系:j+i<=4和j-i>=4的地方,故得代码如下:

#include "stdafx.h"
#include <stdio.h>
int main()
{
    int i, j;
    for(i=1; i<5; i++)
    {
       
        for(    j=1 ;  j<8 ;  j++  )  
        {
            if(j+i<=4||j-i>=4){
                printf(" "); //输出“ ”
            }else{
                printf("*"); //输出“*”
            }
        }

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值