题目 1812: [编程基础]输入输出练习之输出图案

题目描述

输入一个字符,输出由这个字符组成等腰三角形

底为5个,高为3个

输入格式

输入一个字符

输出格式

输出由这个字符组成的等腰三角形

样例输入

*

样例输出

  *
 ***
*****

分析:输入一个字符,把字符作为a,按照要求输出;

输出格式共三层,自顶向下是1、2、3层;

从第3层往上看,可以对比得到(左边)输出的空格分别是0、1、2,

把空格换成x,梅花*换成A,这个等腰三角形则变成了:

                        xxAxx

                        xAAAx

                        AAAAA

在这里,我的思路是,一共三层,每一层有3部分,(左)空格、字符串、(右)空格。

空格的语句是一样的,根据最外层的循环层数 i 的变化,写出输出不同的 j 变量的范围

字符串也是同理的,大概就是这样。

        外层变量i 每执行一次内层循环全部跑完。

然后加字符串输入,看起来大概是这样。

#include
	using namespace std;

	int main() {

		for (int i = 1; i < 4; i++) {  // i:1\2\3
			
			//本层左边的空格  2、1、0
			for (int j = i; j < 3; j++) {
				cout << "x";    //空格基本句
			}
			 //字符分别输出 1,3,5次
			for (int t = 0; t < 2*i-1; t++) {
				cout <<"A";
				}
			
			//本层右边的空格 he左边一样
			for (int j = i; j < 3; j++) {
				cout << "x";    //空格基本句
			}

			//换行
			cout << endl;
		}
		return 0;
	}


这次最终版: 加字符串的输入、和把改成了空格

#include
	using namespace std;

	int main() {
		string str1;
		cin >> str1;	//输入字符串

		for (int i = 1; i < 4; i++) {  // i:1\2\3
			
			//本层左边的空格  2、1、0
			for (int j = i; j < 3; j++) {
				cout << " ";    //空格基本句
			}
			 //分别输出 1,3,5次
			for (int t = 0; t < 2*i-1; t++) {
				cout <

你可能感兴趣的:(算法,c++,开发语言)