首页 > 试题广场 >

正斜线形图案

[编程题]正斜线形图案
  • 热度指数:17448 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正斜线形图案。

输入描述:
多组输入,一个整数(2~20),表示输出的行数,也表示组成正斜线的“*”的数量。


输出描述:
针对每行输入,输出用“*”组成的正斜线。
示例1

输入

4

输出

   *
  * 
 *  
*   
示例2

输入

5

输出

    *
   * 
  *  
 *   
* 
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        int x = n - 1;
        for (int i = 0; i < n; i++) {
            for (int a = x; a != 0; a--) {
                printf(" ");
            }
            printf("*");
            x--;
            printf("\n");
        }
    }
    return 0;
}
发表于 2025-06-22 18:33:08 回复(0)
#include<stdio.h>

int main()
{
    int n;
    int i = 0 , j = 0;
    while((scanf("%d",&n))!=EOF)
    {
        for(i = 0 ; i<n ;i++)
        {
            for(j = 0 ; j<n-i-1 ; j++)
                printf(" ");
            printf("*\n");
        }
    }
    return 0;
}
发表于 2024-10-27 20:49:36 回复(0)
#include<stdio.h>
int main()
{
int n=0;
while((scanf("%d",&n))!=EOF)
{
int i=0,j=0;

for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
if((i+j)==(n-1))
printf("*");
else
 printf(" ");

}
printf("\n");

}

}

    return 0;
}
发表于 2024-08-24 12:14:31 回复(0)

int main()
{
    int n = 0;
    int i = 0, j = 0;
    while (scanf("%d", &n) != EOF)
    {
        char arr = '*';
        for (i = n; i > 0; i--)
        {
            for (j = 1; j < i; j++)
            {
                printf(" ");
            }
            for (int k = 0; k<=i-j; k++)
            {
                printf("%c ", arr);
            }
            printf("\n");
        }
    }
}
发表于 2024-08-18 11:18:11 回复(0)
int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                printf(" ");
            }
            printf("*\n");
        }
    }

    return 0;
}

发表于 2024-08-03 11:01:44 回复(0)

#include <stdio.h>

int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) 
    {
        //打印n行
        for(int i = 0; i < n ; i++)
        {   
            for(int j = 0; j < n - i -1; j++)   
                printf(" ");

            printf("*\n");
        }
    }
    return 0;
}


发表于 2024-06-20 18:26:00 回复(0)
/*思路 : 由题目的输出示例可以看出 
也是由空格和星号组成 
输入 4 
空格数分别是:3 2 1 0   星号数都是1个 
在每次一行打印完之前加一个星号 再加一个回车符就可以了
*/

# include <stdio.h>
int main ()
{
    int n = 0;
    while(scanf("%d",&n)!=EOF)
    {
        int i = 0;
        //控制每行的打印
        for(i = 0; i < n; i++)
        {
            int j = 0;
            //打印每行的空格
            //n-i-1 的思路 由示例可以看出 空格是慢慢减少的
            //而i也是逐渐变化的 
            //假如用户输入4 第一行就是3个空格 
            //首先肯定能想到 是根据n来改变的 写成n-1的话始终都是三
            //如果再减去一个i的话 那就可以这样计算 符合题意4-0-1=3 
            //第二行 4-1-1=2 第三行 4-2-1=1 第四行 4-3-1=0
            for(j = 0; j< n-i-1;j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}

发表于 2024-06-02 13:01:00 回复(0)
#include <stdio.h>

int main() {
    int a;
    while (scanf("%d", &a) != EOF) 
    {
        for (int i=0; i<a; i++) 
        {
            for (int j=0; j<a; j++) 
            {
                if (j==a-i-1) 
                {
                    printf("* ");
                }
                else 
                {
                printf(" ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

发表于 2024-04-21 14:04:14 回复(0)
#include <stdio.h>

int main() 
{
    int n = 0;
    int i = 0;
    int j = 0;

    while (scanf("%d", &n) != EOF) 
    {
        for(i = 0; i < n; i++)
        {
            for(j = 0; j < n - i - 1; j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    }

    return 0;
}

编辑于 2024-03-19 12:29:00 回复(0)
#include <stdio.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for (int y = 1; y <= n; y++) {
            for(int x=1; x<=n-y; x++){
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}
编辑于 2024-01-29 19:53:10 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    while (scanf("%d", &n) != EOF) 
    {
        int i=0;
        for(i=0;i<n;i++)
        {
            int j=0;
            for(j=0;j<n;j++)
            {
                if(i+j==n-1)
                printf("*");//打印&号
                else
                 printf(" ");//其余地方填充空格
            }
            printf("\n");
        }
    } 
    return 0;
}

编辑于 2024-01-09 19:38:04 回复(0)
#include <stdio.h>

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

发表于 2023-11-12 21:52:00 回复(0)
#include <stdio.h>

int main() {
    int n =0;
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n-i-1;j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}
发表于 2023-09-03 14:33:45 回复(0)
#include <stdio.h>

int main() {
    int n = 0;
    int i = 0;
    int j = 0;
    while(scanf("%d", &n) != EOF)
    {
        for(i = 0; i < n; i++)
        {
            for(j = i; j < n - 1; j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    }
   
    return 0;
}
发表于 2023-04-08 18:14:51 回复(0)
#include <stdio.h>

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=0;i<n;i++)
        {
            for(int j=i;j<n-1;j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}
发表于 2023-04-06 16:52:01 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n-i-1;j++)
            {
                printf(" ");
            }
            printf("*");
            printf("\n");
        }
    }
    return 0;
}

发表于 2023-03-11 16:05:15 回复(0)
#include <stdio.h>

int main() {
    int a;
    while (scanf("%d", &a) != EOF) {
        for (int i = 0; i < a; i++) {
            for (int j = 0; j < a - i - 1; j++) {
                printf(" ");
            }
            printf("*\n");
        }

    }
    return 0;
}
发表于 2023-03-02 08:32:59 回复(0)
#include <stdio.h>

int main() 
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n-i;j++)         //第i行输出n-i个空格
            {
                printf(" ");
            }
            printf("*\n");
        }
    }
}

发表于 2023-02-26 16:56:26 回复(0)
#include <stdio.h>
int main() {
    int n,i,j;
    while (scanf("%d", &n) != EOF) {
        for(i=1;i<=n;i++){
            for(j=1;j<=n-i;j++){
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}
发表于 2022-09-29 20:40:30 回复(0)
#include<stdio.h>
int main()
{
    int num = 0;
    while(scanf("%d",&num)!=EOF)
    {
        getchar();
        for(int i = 0;i < num;i++)
        {
            for(int j = 1;j < num - i;j++)
                printf(" ");
            printf("*\n");
        }
    }
    return 0;
}

发表于 2022-07-27 13:40:57 回复(0)