A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tingfeng1992 中级黑马   /  2015-6-21 15:41  /  18555 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*                 如果是5行            
    *              第一行4个空格,1个*   
   ***           第二行3个空格,3个*
  *****        第三行2个空格,5个*
*******     第四行1个空格,7个*
*********  第五行0个空格,9个*
*/
首先打印5行的正三角形,代码如下
#include <stdio.h>

int main(int argc, const char * argv[]) {
   
    for(int i=1;i<=5;i++){
         //打印空白
        for (int j=4; j>=i; j--) {
            printf(" ");
        }
        for (int j=1; j<=2*i-1; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
但是上面这个只是打印5行的正三角形,不具有通用性,不能手动输入需要打印的行数。
下面这个程序可以手动输入你需要打印的行数,打印任意行数的正三角形。代码如下:
//这个是通用性的
#include <stdio.h>

int main(int argc, const char * argv[]) {
    int low=0;
    printf("请输入正三角的行数\n");
    scanf("%d",&low);
    for(int i=1;i<=low;i++){
        //打印空白
        for (int j=low-1; j>=i; j--) {
            printf(" ");
        }
        for (int j=1; j<=2*i-1; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

17 个回复

倒序浏览
高手  高手啊  
回复 使用道具 举报
先收藏了 回头看看
回复 使用道具 举报
楼主的方法不错学习了
回复 使用道具 举报
.0.........................................
回复 使用道具 举报
好棒呀..加油加油
回复 使用道具 举报
围观学习~
回复 使用道具 举报
这种题需要先算好空格和*的规律
回复 使用道具 举报
王博Lynn 发表于 2015-6-23 20:47
这种题需要先算好空格和*的规律

是啊,主要是算法
回复 使用道具 举报
楼主,厉害!!!
回复 使用道具 举报
可以的,,开辟新思路
回复 使用道具 举报
很好。。。。加油。。。
回复 使用道具 举报
用数学的直线函数表达式来打印图案也是一种相当好的途径
回复 使用道具 举报

这根本不叫算法。。。好伐。。。。。
回复 使用道具 举报
lZ是看了我的帖子吗?http://bbs.itheima.com/thread-258438-1-1.html
回复 使用道具 举报
paulchoi1 来自手机 中级黑马 2015-11-20 00:51:54
16#
这个挺简单的
回复 使用道具 举报
新人小白围观中 ,表示难以理解。。。
回复 使用道具 举报
支持一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马