首页 > 试题广场 >

带空格直角三角形图案

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

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


输入描述:

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



输出描述:

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

示例1

输入

5

输出

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

输入

4

输出

      * 
    * * 
  * * * 
* * * *
#include <cstdio>
#include <iostream>
using namespace std;

int main() {
    int n;
    while (scanf("%d",&n) != EOF) { // 注意 while 处理多个 case
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                printf("  ");
            }
            for(int k=0;k<=i;k++){
                printf("* ");
            }
            printf("\n");
        }
    }
}

发表于 2023-10-08 16:51:11 回复(0)
#include <iostream>

using namespace std;

int main() {
   
 int n;
 while(cin>>n)
 {for(int i=1;i<=n;i++)
  {  for(int k=0;k<n-i;k++)
  {
    
    cout<<"  ";
  }
    for(int j=0;j<i;j++)
    {    
        cout<<"* ";
        
        
     }
     cout<<endl;
 }   
 }
 return 0;
}
发表于 2022-09-25 20:02:38 回复(1)
#include<iostream>
using namespace std;
int main(){
    int num, temp1, temp2;
    while(cin >> num){
        for(int i = 1; i <= num; i++){
            temp1 = num - i;
            temp2 = i;
            while(temp1--){
                cout << "  ";
            }
            while(temp2--){
                cout << "* ";
            }
            cout << endl;
        }
    }
    return 0;
}

发表于 2022-08-19 12:12:38 回复(0)
#include <iostream>
using namespace std;

int main()
{
    int n;
    while (cin >> n)
    {
        for (int i = 1; i <= n; i ++ )
        {
            for (int j = 1; j <= n - i; j ++ )
            {
                cout << "  ";
            }
            for (int q = 1; q <= i; q ++ )
            {
                cout << "* ";
            }
            cout << endl;
        }
    }
}

发表于 2022-05-24 17:44:41 回复(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-i-1;j++)
            {
                printf("  ");
            }
            //打印*和空格
            for(j=0;j<=i;j++)
            {
                printf("* ");
            }
            //一行打印完成换行
            printf("\n");
        }
    
    
    }
    return 0;
}
发表于 2022-02-12 23:30:23 回复(0)
#include<iostream>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(i+j>n-2)
                    cout<<"* ";
                else
                    cout<<"  ";
            }
            cout<<"\n";
        }
    }
}
发表于 2021-12-27 11:48:06 回复(0)
# include<bits/stdc++.h>
using namespace std;
void printRightTriangle(int num)
{
    for(int i=0; i < num; i++)
    {
        for(int j=0; j<num;j++)
        {
            if(j <num-i-1)
                cout << "  ";
            else
                cout << "* ";
        }
        cout << endl;
    }
}
int main()
{
    int num;
    while(cin>>num)
        printRightTriangle(num);
    return 0;
}

发表于 2021-12-18 18:43:20 回复(0)
//如何做这道题,将行数,空格数,和星星数联系在一起,你会惊奇地发现,问题就解决了

#include <iostream>
using namespace std;

int main() {
    int n;
    while(cin>>n) {// 输入行数
for (int i=0;i<n;i++) {  //这是行数
    for (int j=n-1;j>i;j--) {  //第一点,先输出的是空格,找出输出空格和行数之间的关系,这一点很重要,前两个for循环完成对空格的输出
        cout<<"  ";
    }
    for (int k=0;k<=i;k++) {//这个for循环是输出星星,星星的循环和行数的循环,可以讲是一模一样的。
        cout<<"* ";
    }
//换行是在一次循环结束后使用的,所以加在这
    cout<<endl;
}
        }
    return 0;
}
发表于 2021-12-14 23:24:21 回复(0)
#include<stdio.h>
int main()
{
    int a,m,n,i;
    while(scanf("%d",&a) !=EOF)
    {
         for(n=1;n<=a;n++)
         {
              for(m=1;m<=a-n;m++)
             {
                 printf(" ");
             }
              for(m=1;m<=a-n;m++)
             {
                 printf(" ");
             }
              for(i=1;i<=n;i++)
             {
                 printf("* ");
             }
            
             printf("\n");
         }
    }
}
发表于 2021-08-04 21:03:02 回复(0)