输入正整数n<=20,输出一个n层的倒三角形,例如n=5时输出如下:
#########
#######
#####
###
#
想法: 一看到这类题就知道需要找规律。所以可发现规律:从下向上看成正立的三角形的话发现每层的#标记分别为1、3、5、7、9等等,即从下向上看第i层(假设i从1开始计数)的#标记有2*i-1个。所以当看成倒立的三角形时第i层的#标记一共有2*(n-i+1)个。
C语言代码如下:
#include<stdio.h> int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { for(int j=1;j<i;j++) printf(" "); int count=2*(n-i+1)-1; //每一层需输出 # 的次数 while(count>0) { printf("#"); count--; } printf("\n"); } }
Java代码如下:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); for(int i=1;i<=n;i++) { for(int j=1;j<i;j++) System.out.print(" "); int count=2*(n-i+1)-1; //每一层需输出 # 的次数 while(count>0) { System.out.print("#"); count--; } System.out.println();; } } }