首页 > 试题广场 >

箭形图案

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

输入描述:
本题多组输入,每行一个整数(2~20)。


输出描述:

针对每行输入,输出用“*”组成的箭形。

示例1

输入

2

输出

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

输入

3

输出

      *
    **
  ***
****
  ***
    **
      *
示例3

输入

4

输出

        *
      **
    ***
  ****
*****
  ****
    ***
      **
        *
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();
            //上半层:n+1
            for (int i = 0; i <= n; i++) {
                for (int j = i; j <= n + i; j++) {
                    if (j < n) {
                        System.out.print("  ");
                    } else {
                        System.out.print("*");
                    }
                }
                System.out.println();
            }
            //下半层:n
            for (int i = 0; i < n; i++) {
                for (int j = 0; j <= i; j++) {
                    System.out.print("  ");
                }
                for (int j = n - 1 - i; j >= 0; j--) {

                    System.out.print("*");
                }
                System.out.println();
            }
        }
        in.close();
    }
}

发表于 2024-08-16 15:15:53 回复(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();
            // 1 到 n + 1
            for(int i = 1; i <= n + 1; i++) {
                //空格
                for(int j = n; j >= i; j--) {
                    System.out.print("  ");
                }
                //符号
                for(int l = 1; l <= i; l++) {
                    System.out.print("*");
                }
                //换行
                System.out.println();
            }
            //n + 2 到 2 * n + 1
            for(int i = 1; i <= n; i++) {
                //空格
                for(int j = 1; j <= i; j++) {
                    System.out.print("  ");
                }
                //符号
                for(int l = n; l >= i; l--) {
                    System.out.print("*");
                }
                //换行
                System.out.println();
            }
        }
    }
}
发表于 2023-10-27 16:37:08 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            for(int i=1;i<=n+1;i++){
                for(int j=n;j>i-1;j--){
                    System.out.print("  ");
                }                               
                for(int p=1;p<=i;p++){
                    System.out.print("*");
                }
                
                System.out.println();
            }
            for(int i=1;i<=n;i++){
                for(int j=1;j<=i;j++){
                    System.out.print("  ");
                }
                for(int p=n;p>=i;p--){
                    System.out.print("*");
                }
                System.out.println();
            }

        }
    }
}

发表于 2022-11-03 09:12:35 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int x=sc.nextInt();
            int k=1;
            for(int i=x*2;i>0;i-=2){
                for(int $i=1;$i<=i;$i++){
                    System.out.print(" ");
                }
                for(int j=1;j<=k;j++){
                    System.out.print("*");
                }
                k++;
                System.out.println();
            }
            for(int i=1;i<=x+1;i++){
                System.out.print("*");
            }
            System.out.println();
            k=x;
            for(int i=2;i<=x*2;i+=2){
                for(int $i=1;$i<=i;$i++){
                    System.out.print(" ");
                }
                for(int j=k;j>0;j--){
                    System.out.print("*");
                }
                k--;
                System.out.println();
            }
        }
    }
}

发表于 2022-08-18 22:27:00 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int n = sc.nextInt();
            //上三角
            for (int c = 0; c < n; c++) {//有几行
                for (int a = n * 2 - 2 * c ; a > 0;
                        a--) { //输入一行的空格,第一行有2n个
                    System.out.print(" ");
                }
                for (int b = 0; b <= c; b++) {//输入一行的*
                    System.out.print("*");
                }
                System.out.println();
            }
            //中间线
            for (int s = 0; s <= n; s++) {
                System.out.print("*");
            }
            System.out.println();
            //下三角
            for (int c = 1; c <= n; c++) {//有几行
                for (int a = 0; a < 2 * c; a++) { //输入一行的空格,第一行有2n个
                    System.out.print(" ");
                }
                for (int b = n - c + 1; b > 0; b--) { //输入一行的*
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
}

发表于 2022-07-06 16:42:15 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            int n = scanner.nextInt();
            for(int i = 1 ; i <= n + 1 ;i++){
                //空格
                for(int j = i;j <= n ;j++){
                    //两个空格位
                    System.out.print("  ");
                }
                for(int k = 1;k <= i;k++){
                    System.out.print("*");
                }
                System.out.println("");
            }
            //System.out.println("*");
            for(int i = 1;i <= n;i++){
                for(int j = 1;j <= i;j++){
                    //两个空格位
                    System.out.print("  ");
                }
                for(int k = n;k >= i;k--){
                    System.out.print("*");
                }
                System.out.println("");
            }
        }
    }
}

发表于 2022-06-29 09:28:44 回复(0)

import java.util.Scanner;

public class Main {
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		
		while(sc.hasNext()) {
			int a = sc.nextInt();
			
			for(int i=1;i<=a+1;i++) {
				for(int j=a;j>=i;j--) {
					System.out.print("  ");
				}
				for(int j=1;j<=i;j++) {
					System.out.print("*");
				}
				System.out.println();
			}
			
			for(int i=1;i<=a;i++) {
				for(int j=1;j<=i;j++) {
					System.out.print("  ");
				}
				for(int j=a;j>=i;j--) {
					System.out.print("*");
				}
				System.out.println();
			}
		}
		
	}
}

发表于 2022-04-21 09:16:08 回复(0)
import java.util.Scanner;

/**
 * @Title: 箭形图案
 * @Remark: KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的箭形图案。
 *  输入描述:
 *      本题多组输入,每行一个整数(2~20)。
 * 输出描述:
 *      针对每行输入,输出用“*”组成的箭形。
 * @Author: ijunfu
 * @Version: 1.0.0
 * @Date: 2022-03-20
 */
public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        while(in.hasNextLine()) {
            Integer n = Integer.parseInt(in.nextLine());

            for (int i = 1; i <= n+1; i++) {
                for (int j = i; j <= n; j++) {
                    System.out.print("  ");
                }
                for (int j = 1; j <= i; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
            for (int i = 1; i <= n ; i++) {
                for (int j = 1; j <= i ; j++) {
                    System.out.print("  ");
                }
                for (int j = i; j <= n ; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }

    }
}

发表于 2022-03-20 10:57:18 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            for (int i = 1; i <= n+1; i++) {
                for (int j = i; j <= n; j++) {
                    System.out.print("  ");
                }
                for (int j = 1; j <= i; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
            for (int i = 1; i <= n ; i++) {
                for (int j = 1; j <= i ; j++) {
                    System.out.print("  ");
                }
                for (int j = i; j <= n ; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
}

发表于 2021-12-16 23:13:48 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()){
            int a = scan.nextInt();
            for(int i=1;i<=a+1;i++){
                for(int j=0;j<a+1;j++){
                    if(j<a+1-i){
                        System.out.printf("  ");
                    }
                    else {
                        System.out.printf("*");
                    }
                }
                System.out.println();
            }
            for(int i=a;i>=1;i--){
                for(int j=0;j<a+1;j++){
                    if(j<a+1-i){
                        System.out.printf("  ");
                    }
                    else {
                        System.out.printf("*");
                    }
                }
                System.out.println();
            }
        }
    }
}



发表于 2021-11-10 00:29:10 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            for(int i = 1; i <= n + 1;i++){
                for(int j = 1; j <= 2*(n-i+1); j++){
                    System.out.print(" ");
                }
                for(int k = 1; k <= i; k++){
                    System.out.print("*");
                }
                System.out.println();
            }
            for(int i = 1; i <= n; i++){
                for(int j = 1; j <= 2*i; j++){
                    System.out.print(" ");
                }
                for(int k = 1; k <= (n+1-i);k++ ){
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
}

发表于 2021-09-30 14:05:06 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        while(input.hasNext())
        {
            int num=input.nextInt();
            for(int i=0;i<=num;i++)
            {
                for(int j=0;j<num*2-i*2;j++)
                {
                    System.out.print(" ");
                }
                for(int k=0;k<=i;k++)
                {
                    System.out.print("*");
                }
                System.out.println();
            }
            for(int l=0;l<num;l++)
            {
                for(int s=0;s<l*2+2;s++)
                {
                    System.out.print(" ");
                }
                for(int q=0;q<num-l;q++)
                {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
}//有点麻烦,我的代码
发表于 2021-08-14 10:58:34 回复(0)
我好菜
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while (input.hasNext()) {
        int n = input.nextInt();
        int empty = n * 2;
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < empty - i * 2; j++) System.out.print(" ");
                for (int j = 0; j <= i; j++)
                    System.out.print("*");
                System.out.println("");
            }
            for (int i = 0; i <= n; i++) System.out.print("*");
            System.out.println("");
            for (int i = 0; i < n; i++) {
                for (int j = (i + 1) * 2; j > 0; j--) System.out.print(" ");
                for (int j = n - i; j > 0; j--)
                    System.out.print("*");
                System.out.println("");
            }
        }
    }
}


发表于 2020-10-30 21:48:22 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int n = sc.nextInt();
            List<String> remember = new ArrayList<>(n);
            for (int i = 1; i <=n+1; i++) {
                String str = String.join("",Collections.nCopies((n+1-i)*2," "));
                str+=String.join("",Collections.nCopies(i,"*"));
                remember.add(str);
            }
            boolean flag = true;
            for (int i=0;i>=0;){
                if (i==remember.size()-1)flag=false;
                System.out.println(remember.get(i));
                i=flag?++i:--i;
            }
        }
    }
}

发表于 2020-04-22 11:42:42 回复(0)