c++编程题2

来源:互联网 发布:淘宝权重影响因素 编辑:程序博客网 时间:2024/05/30 05:00


使用双重循环输出下图:

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

思路一,每一行(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;
}





0 0