多组输入,一个整数(2~20),表示金字塔边的长度,即“*”的数量,,也表示输出行数。
针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。
4
* * * * * * * * * *
5
* * * * * * * * * * * * * * *
import java.util.*;
public class Main
{
public static void main(String [] args)
{
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int num = sc.nextInt();
//控制行数
for(int i=1;i<=num;i++){
//空格
for(int n=num-i;n>=1;n--){
System.out.print(String.join("", " "));
}
//*号
for(int m=1;m<=i;m++){
System.out.print(String.join("","*"+" "));
}
System.out.println();
}
}
}
} 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();
String temp = String.join("", Collections.nCopies(n+1, " "));
for (int i = 1; i <=n; i++) {
//输出n-i个空格" ",以及拼接字符串->在i个*中插入空格" "
//Collections.nCopies(i, "*") 是复制i-1个*,如i=3,就是***
//下面的String.join方法是在字符串空隙中插入指定字符串,如***,变成* * *
System.out.println(String.join("", Collections.nCopies(n-i, " "))+
String.join(" ", Collections.nCopies(i, "*"))+" ");
}
}
}
} #include <stdio.h>
#include <math.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)//实现多组输入
{
for(int i=1;i<=n;i++)
{
for(int j=0;j<n-i;j++)
{
printf(" ");
}
for(int k=n-i;k<n;k++)
{
printf("* ");
}
printf("\n");
}
}
return 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 < n; j++) {
if (j < n - i - 1) {
System.out.print(" "); //控制空格数即可
} else {
System.out.print("* ");
}
}
System.out.println();
}
}
in.close();
}
} #include <iostream>
#include<string>
using namespace std;
void ta1(int n) {
for (int i = 0; i < n; i++) { cout << "* "; }
//for (int i = n - 1-1 ; i >= 0; i--) { cout <<"*"; }
cout << endl;
}
void sp(int n) {
for (int i = 0; i < n; i++) cout << " ";
}
void ta(int n) {
for (int i = 0; i < n; i++) {
sp(n-i-1); ta1(i+1);
}
}
int main() {
int n;
while(scanf("%d",&n)!=EOF){
ta(n);
}
}
#include <stdio.h>
int main() {
int a;
while (scanf("%d", &a) != EOF)
{
for (int i = 0; i < a; i++)
{
//a-1-i会随着i变化,当输入4时,第一行打印4-1-i格空格
for (int j = 0; j < a-1-i; j++) //打印一个空格
printf(" ");
for (int j = 0; j <= i; j++) //打印*和空格
printf("* ");
printf("\n"); //换行
}
}
return 0;
}