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 = n - 1 - i; j >= 0; j--) { // 跟反斜线意思差不多,看打印星星的条件 if (j == 0) { System.out.println("* "); } else { System.out.print(" "); } } } } in.close(); } }
#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 < n - i -1; j++) printf(" "); printf("*\n"); } } return 0; }
/*思路 : 由题目的输出示例可以看出 也是由空格和星号组成 输入 4 空格数分别是:3 2 1 0 星号数都是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; //打印每行的空格 //n-i-1 的思路 由示例可以看出 空格是慢慢减少的 //而i也是逐渐变化的 //假如用户输入4 第一行就是3个空格 //首先肯定能想到 是根据n来改变的 写成n-1的话始终都是三 //如果再减去一个i的话 那就可以这样计算 符合题意4-0-1=3 //第二行 4-1-1=2 第三行 4-2-1=1 第四行 4-3-1=0 for(j = 0; j< n-i-1;j++) { printf(" "); } printf("*\n"); } } return 0; }