首页 > 试题广场 >

带空格直角三角形图案

[编程题]带空格直角三角形图案
  • 热度指数:43674 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的带空格直角三角形图案。


输入描述:

多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。



输出描述:

针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。

示例1

输入

5

输出

        * 
      * * 
    * * * 
  * * * * 
* * * * *
示例2

输入

4

输出

      * 
    * * 
  * * * 
* * * *
#include<stdio.h>
int main()
{
int n=0;
char c='*';
while((scanf("%d",&n))!=EOF)
{
int i=0;
for(i=1;i<=n;++i)
{
int j=0;
for(j=n;j>i;--j)
{
printf("  ");

}
for(j=1;j<=i;++j)
{
printf("* ");

}

printf("\n");
}



}

    return 0;
}
发表于 2024-08-11 16:34:34 回复(0)
#include <stdio.h>

int main() {
    int a;
    while (scanf("%d", &a) != EOF) {
        for (int i = 0; i < a; i++)    
        {
            //a-1-i会随着i变化,第一打印5-1-0个两空格
            for (int j = 0; j < a-1-i; j++) //打印两个空格
                printf("  ");

            for (int j = 0; j <= i; j++) //打印*和空格
                printf("* ");
            
            printf("\n");   //换行
        }
    }
    return 0;
}

发表于 2024-06-20 16:45:47 回复(0)
/*思路 : 仔细观察题目答案的输出可以发现 
每一次打印都是两个空格加上一个空格一个星号
先打印一行的内容 j=0;j<n-1-i;j++ 这是控制打印两个空格的代码
i是0的时候等于没减 i是1的时候减去1 i是2的时候减去2 i是3的时候减去3
(减去空格的个数)
j=0;j<=i;j++  这是控制星号的代码
i是从0进入来的 当i等于1的时候 打印一次 * i等于2的时候打印两次 * 
以此类推*/

# 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-1-i;j++)
            {   
                printf("  ");
            }
        for(j = 0; j<=i; j++)
            {
                printf("* ");
            }
        printf("\n");
        }
        
    }
    return 0;
}

发表于 2024-06-01 16:50:15 回复(0)
int main() {
    int n = 0;
    scanf("%d", &n);
    int i = 0; int j = 0;
    int m = n;
    while (n)
    {
        
        int k = n - 1;
        for (i = k; i > 0; i--)
        {
            printf("  ");
        }

        for (j = m-k; j > 0; j--) {

            printf("* ");
        }
        printf("\n");
        n--;
    }
    return 0;
}//这样为什么无法通过,求大佬指点一下
发表于 2024-05-09 14:36:09 回复(1)
#include <stdio.h>

int main() 
{
    int h;
    char ch1 = '*';
    char ch2 = ' ';
    while (scanf("%d", &h) != EOF) 
    {
        int n = h;
         for(int i = 0;i < h;i++)
         {
            
            for(int j = 0;j < h;j++)
            {
                if(j<(n-1))
                {
                    printf("  ");
                }//打印空格
                else
                {
                    printf(" *");
                }
              
                
            }
            n--;
            printf("\n");
         }
    }
    return 0;
}
我想问问为何我打印出的和题目给的不太一样


编辑于 2024-04-16 15:57:18 回复(1)
#include<stdio.h>
int main() {
    int input = 0;
    while (scanf("%d", &input) == 1) {
        int i = 0;
        int j = input;
        for (i = 0; i < input; i++) {
            for (j = 0; j < input; j++) {
                if (j < input - 1 - i)
                    printf("  ");
                else
                    printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
编辑于 2024-04-06 17:41:43 回复(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++)
            {
                putchar(' ');
                putchar(' ');
            }
            for(j = 0; j <= i; j++)
            {
                putchar('*');
                putchar(' ');
            }
                putchar('\n');
        }
    }

    return 0;
}

编辑于 2024-03-19 10:57:02 回复(0)
#include <stdio.h>

int main() {
  int a;
  while(~scanf("%d",&a))
  {
  for(int i=1;i<=a;i++)//打印每一行;
  {
    for(int j=1;j<=a-i;j++)//打印每行空格;
    {
       printf("  ");//每次循环打印两个空格;
    }
     for(int m=1;m<=i;m++)//打印每行*号;
        {
            printf("* ");
        }
        printf("\n");//每行打印完后进行换行;
  }
    }

    return 0;
 
}

编辑于 2024-02-22 13:05:19 回复(0)
#include <stdio.h>

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

    return 0;
}
发表于 2024-02-17 17:00:00 回复(0)
#include <stdio.h>

int main() {
    int n;
    while(scanf("%d", &n) != EOF){
        for(int y=1; y<=n; y++){
            for(int a=1; a<=n-y; a++){
                printf("  ");
            }
            for(int b=1; b<=y; b++){
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
编辑于 2024-01-24 19:06:51 回复(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 - 1 - i; j++) {
                printf("  ");
            }
            for (int j = 0; j <= i; j++) {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

编辑于 2024-01-08 19:29:38 回复(1)
#include<stdio.h>//哪位大佬来帮我看看这个改怎么改?(一直显示‘您的程序输出的格式不符合要求(比如空格和换行与要求不一致)’)
int main()
{
    int a, b, c, d, e;
    while (scanf("%d", &e) != EOF)
    {
        for (a = e; a > 0; a--)
        {
            printf("\n");
            for (b = 0; b < a; b++)printf("  ");
            for (c = e+1; c > a; c--)printf("* ");
        }
    }
    return 0;
}
发表于 2023-11-26 08:15:39 回复(0)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int n = 0;
    while(scanf("%d", &n)!=-1)
    for (int i = 1; i <= n; i++)
    {
            int c = n - i;
            int d = i;
            int j = 0;
            for (j = 0; j < n - i; j++)
            {
                if (c)
                {
                    printf("  ");
                    c--;
                }
            }
            while (d)
            {
                printf("%s ", "*");
                d--;
            }
        printf("\n");
    }
    return 0;
}
发表于 2023-11-24 12:55:18 回复(0)
#include <stdio.h>

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

发表于 2023-11-10 20:28:39 回复(0)
#include<stdio.h>  int main()
{ int n=0; while(~scanf("%d",&n))
    { int x=1; int y=1; for(y=1;y<=n;y++)
        { for(x=1;x<=n;x++)
            { if(x+y-n-1>=0)
                    printf("* "); else  printf("  ");
            }
            printf("\n");
        }
    } return 0;
}
发表于 2023-10-27 17:23:25 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    while(~scanf("%d",&n))
    {
        //row
        for(int i=0;i<n;i++)
        {
            //1.blank
            for(int j=0;j<n-1-i;j++)
            {
                printf("  ");
            }
            //2.content
            for(int j=0;j<i+1;j++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
发表于 2023-09-01 10:53:56 回复(0)
#include<stdio.h>
int main()
{
    int n = 0;
   
    while(scanf("%d", &n) == 1)
    for (int i = 0; i < n; i++)
    {
        for (int m = 0; m < n - 1 -i ; m++)
            printf("  ");
        for (int j = 0; j <= i; j++)
            printf("* ");
        printf("\n");
    }
    return 0;

}

发表于 2023-08-28 13:50:38 回复(0)
#include <stdio.h>

int main() 
{
    int n = 0;
    while (scanf("%d", &n) != EOF) 
    {
        int i = 0;
        int 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;
}

发表于 2023-08-03 15:36:57 回复(0)