一世轻尘 发表于 2020-12-24 20:29:34

求一个更简单更好理解的写法

#include<stdio.h>

void print();

int main()
{
        print();
        return 0;
}

void print()
{
        int i,j=1,k,m=3;
        printf("    ");
        for(i=1;i<10&j<11;i++)
        {
        printf("*");
        if(i%j==0)
        {
                printf("\n\n");
                for(k=0;k<m;k++)
                printf(" ");
                m=m-1;
                j=j+2;
                i=0;
        }
        }
}

jackz007 发表于 2020-12-24 20:54:15

本帖最后由 jackz007 于 2020-12-24 20:55 编辑

#include <stdio.h>

int main(void)
{
      int i , j , k , m                                          ;
      scanf("%d" , & m)                                          ;
      for(i = 0 ; i < m ; i ++) {
                for(j = 0 ; j < m - i - 1; j ++) printf(" ")       ;
                for(k = 0 ; k < (i + 1) * 2 - 1 ; k ++) printf("*");
                printf("\n")                                       ;
      }
}
      编译、运行实况
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
5
    *
   ***
*****
*******
*********

D:\00.Excise\C>

风过无痕1989 发表于 2020-12-24 21:13:35

我这个好理解好?
#include<stdio.h>
int main()
{
        int i, j, k, n;
        scanf("%d", &n);

        for (k = 1;k <= n;k++)                  // 控制行
        {
                for (i = n - k;i >= 1;i--)      // 控制每行前面的空格
                {
                        printf(" ");
                }
                for (j = 1;j <= 2 *k - 1 ;j++)    // 控制每行输出的字符数
                {
                        printf("*");
                }
                printf("\n");
        }

        return 0;
}
页: [1]
查看完整版本: 求一个更简单更好理解的写法