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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

正三角
#include<stdio.h>
int main(){
    for (int a=0; a<5; a++) {
        for (int b=0; b<a+4; b++) {
            if (b<4-a){
                printf(" ");
            }else{
                printf("*");
            }
        }
        printf("\n");
    }
    return 0;
}
输出为:
        *
      ***
    *****
  *******
*********

空心正三角
#include<stdio.h>
int main(){
    for (int a=0; a<5; a++) {
        for (int b=0; b<a+5; b++) {
            if (b==4-a||b==4+a) {
                printf("*");
            }else if(a==4&&0==b%2){
                printf("*");
            }else{
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}
输出为:
        *
      *  *
    *      *
  *          *
*  *   *   *  *
倒三角
#include<stdio.h>
int main(){
    for (int a=0; a<5; a++) {
        for (int b=0; b<a+5; b++) {
            if (b==4-a||b==4+a) {
                printf("*");
            }else if(a==4&&0==b%2){
                printf("*");
            }else{
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}
输出为:
*********
  *******
    *****
      ***
       *
空心倒三角
#include<stdio.h>
int main(){
    for (int a=0; a<5; a++) {
        for (int b=0; b<9-a; b++) {
            if (0==a&&0==b%2) {
                printf("*");
            }else if(b==a||b==8-a){
                printf("*");
            }else{
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}

输出为:
*  *   *   *  *
  *          *
    *      *
      *  *
        *


6 个回复

正序浏览

感谢分享,打错字了……
回复 使用道具 举报

。。。。
回复 使用道具 举报

比如数学函数式:y=kx+b,直接换成两个for循环的变量就可以啦。
要是曲线,比如抛物线:y=k*x*x+b,则会有误差,毕竟我们打印的*坐标都得是正整数
回复 使用道具 举报
不错,学习学习
回复 使用道具 举报
正常分享~~~
回复 使用道具 举报
这是利用数学坐标(x.y)对应两个循环(a,b)的关系,轻松利用数学图像的函数表达式建立两个循环变量的关系的来的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马