循环题目讲解

输出倒三角形

循环题目讲解_第1张图片
由题目可以看出,输出共有 n n n 行,第 1 1 1 行输出 n n n 个字符,第 2 2 2 行输出 n − 1 n-1 n1 个字符, … \dots ,第 n n n 行输出 1 1 1 个字符。
对于这种 n , n − 1 , n − 2 , … , 1 n,n-1,n-2,\dots,1 n,n1,n2,,1 的序列,我们可以有 2 2 2 种方法产生:

  1. 循环变量 in 开始,每次 --i,直到 1 为止;
i n n-1 n-2 n-3 2 1
x n n-1 n-2 n-3 2 1
  1. 通过观察可以发现,第 i 个数 x 一定满足 x=n-i+1
i 1 2 3 4 n-1 n
x n n-1 n-2 n-3 2 1
n-i+1 n-1+1 n-2+1 n-3+1 n-4+1 n-(n-1)+1 n-n+1

打印图形

循环题目讲解_第2张图片
两种思路:

  1. 把图形分成 3 3 3 部分,第 1 1 1 行,中间 n − 2 n-2 n2 行,第 n n n 行,注意中间每行两个星花间的空格都需要实际输出,否则两个星花是紧挨在一起的;
  2. 统一看成一个整体,用两层循环,当每行输出的位置既不是第 1 1 1 列,也不是第 n n n 列时,以当前是否是第 1 1 1 行或者第 n n n 行为判断标准,决定在此是输出星花还是空格。

你可能感兴趣的:(循环语句,循环语句,C++)