c++:使用*号打印三角形

来源:互联网 发布:赣州淘宝培训 编辑:程序博客网 时间:2024/05/18 01:17

记得在初学C & Java的时候,我有做过这种练习。不过印象也不是很深刻了,只是还有一点印象。大致记得就是按照老师讲的步骤去一步一步完成就好了。具体的实现思路是一点不记得了。

  • 今天在看C++看到这个练习,感觉好熟悉。心想这玩意太小儿科了。我可以使用Java花式打印出各种奇怪的图形。(吹牛而已~)
  • 但是,没有想到的是,C++如同C也是没有字符串的概念的。于是就超级蛋疼。更不同于python。相对来说,python实现起来会方便很多。
  • 好吧,先看一下题目可代码吧:
#include <iostream>/*2.1  使用循环结构打印下述图形,打印行数n由用户输入。图中每行事实上包括两部分,中间间隔空格字符数m也由用户输入。    *    *********   ***    *******  *****    ***** *******    ************    * */int main() {    int n = 5;    int space = 6;    std::cout << "n:";    std::cin >> n;    std::cout << "space:";    std::cin >> space;    std::cout << std::endl;    // y = 2x-1;    // left = n-i;    for (int i = 1; i <= n; ++i) {        // left        for (int k = 0; k < n - i; ++k) {            std::cout << " ";        }        for (int j = 0; j < 2 * i - 1; ++j) {            std::cout << "*";        }        // space        for (int l = 0; l < space; ++l) {            std::cout << " ";        }        for (int m = 0; m < 2 * (n - i) + 1; ++m) {            std::cout << "*";        }        std::cout << std::endl;    }    return 0;}/*n:8space:4    *      *********   ***      *******  *****      ***** *******      ************      *Process finished with exit code 0 */

看到了吧,这个打印三角形,真的不是简单的遍历一下,然后无脑输出*就可以了。还要去计算左边空格的个数,左边*的个数,右边*的个数。

最后,这个小练习虽然连入门都算不上。但是我依然很高兴。因为是自己认真思考了,然后完成了这个小练习。yeah✌️