C语言 打印漏斗的实现:

题目描述

打印出一个底部有n个*的漏斗

输入
第一行输入一个T;表示有T组测试数据
下面每一行都有一个n表示漏斗底部*的个数
n保证是奇数

输出
输出打印结果
两个测试答案之间要用换行分割

例子:
3
11
13
15

输出:





***
 *
***








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








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





int main()
{
    int T, n, i, j;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%d", &n);
        for (j = n; j > 0; j -= 2)
        {
            for (i = 0; i < (n - j) / 2; i++)
                printf(" ");
            for (i = 0; i < j; i++)
                printf("*");
            printf("\n");
        }
        for (j = 3; j <= n; j += 2)
        {
            for (i = 0; i < (n - j) / 2; i++)
                printf(" ");
            for (i = 0; i < j; i++)
                printf("*");
            printf("\n");
        }
    }
    return 0;
}

#include <stdio.h>

int main() {
    int t, n;
    scanf("%d", &t);

    while (t--) {
        scanf("%d", &n);

        for (int i = 1; i <= n; i += 2) {
            for (int j = 0; j < (n - i) / 2; j++) {
                putchar(' ');
            }

            for (int j = 0; j < i; j++) {
                putchar('*');
            }

            putchar('\n');
        }
    }

    return 0;
}