首页 > 试题广场 >

反斜线形图案

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

输入描述:

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



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

输入

4

输出

*   
 *  
  * 
   *
示例2

输入

5

输出

*    
 *   
  *  
   * 
    *
#include <stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF){
        int i,j;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                if(i==j){
                    printf("*");
                }else{
                    printf(" ");
                }
            }
            printf("\n");
        }
    }
}

发表于 2020-04-11 08:59:34 回复(0)
#include <cstdio>
int main()
{
    int a;
    while(~scanf("%d",&a))
    {
        for(int i=0;i<a;++i)
        {
            for(int k=0;k<i;++k)
                printf(" ");
            printf("*");
            for(int k=0;k<a-i;++k)//需要输出空格,坑
                printf(" ");
            printf("\n");
        }
    }
    return 0;
}

发表于 2020-03-26 14:35:21 回复(4)
int main()
{
    int a = 0;
    while((scanf("%d",&a))!=EOF)
    {
        int i = 0;
        int j = 0;
        for(i=0;i<a;i++)
        {
            for(j=0;j<i;j++)
            {
                printf(" ");
            }
            printf("*\n");
        }
    }
    return 0;
}
发表于 2022-08-15 17:24:56 回复(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 = 0;j < i;j++)
                printf(" ");
            printf("*\n");
        }
    }
    return 0;
}

发表于 2022-07-27 13:35:15 回复(0)
#include<stdio.h>
int main()
{
    int n;
    while( scanf("%d",&n) != EOF )
    {
        for( int i = 0 ; i < n ; i++ ) 
        {
            for( int j = n - i ; j < n ; j++ ) printf(" ");
            printf("*");
            printf("\n");
        }
    }
    return 0;
}

发表于 2022-06-17 09:58:47 回复(0)
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a;
    while(scanf("%d",&a) != EOF){
        for(int i = 0;i<a;i++){
            for(int j = 0;j<i;j++){
                printf(" ");
            }
            printf("*");
            //需要注意后面的空格,按每行字符一致原则
            for(int k = 0;k<a-i;k++){
                printf(" ");
            }
            printf("\n");
        }
    }
    return 0;
}

发表于 2020-09-20 16:09:48 回复(0)
#include<stdio.h>
int main()
{
    int n,i,j,k;
    while(~scanf("%d\n",&n))
    {
        for(i=0;i<n;i++)
        {
            for(j=0;j<i;j++)
            {
                printf(" ");
            }
            printf("*");
                printf("\n");
        }
        
    }
    return 0;
}
发表于 2021-11-24 13:29:22 回复(0)

printf使用技巧,不需要嵌套循环

#include <stdio.h>

int main() {
    int a,ch = '*';
    while (scanf("%d", &a) != EOF) {
        int count = 1;
        for (int i = 0; i < a; i++) {
            printf("%*c\n",count,ch);
            count++;
        }
    }
    return 0;
}
发表于 2024-11-06 13:09:43 回复(0)
#include <stdio.h>

int main() {
    int n;
    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)
                printf("*");//*号处横纵坐标相等
                else
                 printf(" ");//其余地方都是空格
            }
            printf("\n");
        }
    }
    return 0;
}

发表于 2024-01-09 19:22:53 回复(0)
while True:
    try:
        n=int(input())
        for i in range(0,n):
            print(' '*i+'*')
    except:
        break

发表于 2024-10-22 08:44:52 回复(0)
while True:
    try:
        n = int(input())
        for i in range(0, n  ):
            temp = " " * i + "*"
            print(f"{temp:<{n**2+2}}")  #  ^居中,>居右,<居左对齐
    except Exception as e:
        break

发表于 2024-09-28 19:21:50 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNextInt()) {
            int a = scanner.nextInt();
            int flag = 0;
            for (int i = 1; i <= a; i++) {
                for (int j = 1; j < i; j++) {
                    System.out.print(" ");
                }
                for (int k = 1; k <= i - flag; k++, flag++) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }

    }
}

发表于 2024-09-04 11:47:01 回复(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)
printf("*");
else
 printf(" ");

}
printf("\n");

}

}

    return 0;
}
发表于 2024-08-24 12:12:34 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int n = in.nextInt();
            for (int i = 0; i < n; i++) {
                for (int j = 0; j <= i; j++) {
                    if (j == i) {
                        System.out.print("* ");
                    } else {
                        System.out.print(" ");
                    }
                }
                System.out.println();
            }
        }
        in.close();
    }
}

发表于 2024-08-17 19:15:39 回复(0)
int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < i; j++) {
                printf(" ");
            }
            printf("*\n");
        }
    }

    return 0;
}

发表于 2024-08-03 10:59:30 回复(0)
#include <stdio.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for(int i=0;i<n;i++){
            for(int j=0;j<i;j++){
                printf(" ");
            }
            printf("*");
            printf("\n");
        }
    }
    return 0;
}
发表于 2024-07-12 09:56:51 回复(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 < i; j++)   
                printf(" ");

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

发表于 2024-06-20 18:20:57 回复(0)
/*
思路 : 由示例可以看出 也是由空格和星号组成的
例如输入 4 
空格 :0 1 2 3 
星号 :1 1 1 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;
            //由示例可以看出 空格依次增加 
            //这里就小于 i 当i为0的时候 打印0个 为1的时候打印1个 依次...
            for(j = 0; j< i; j++)
            {
                printf(" ");
            }
            // for(j = 0 ; ; j++)
            // {
            //     printf("*");
            // }
            //error 其实可以发现 在结尾添加上 *\n 就可以了 
            //每次循环打印一行之后 在最后打印一个星号加一个回车就可以了
            printf("*\n");
        }
    }
    return 0;
}

发表于 2024-06-02 12:02:33 回复(0)
#include <iostream>
using namespace std;

int main() {
    int a;
    while (cin >> a ) 
    {
        for (int i = 0; i < a; i++) 
        {
            for (int j = 0; j < a; j++) 
            {
                if (i == j)
                    cout << "*";
                else
                    cout << " ";
            }
            cout << endl;
        }
    }
}
// 64 位输出请用 printf("%lld")

发表于 2024-05-05 18:36:28 回复(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<i;j++)
                printf(" ");
            printf("*\n");
        }
    }
    return 0;
}

编辑于 2024-04-05 21:10:22 回复(0)