记得在初学C & Java
的时候,我有做过这种练习。不过印象也不是很深刻了,只是还有一点印象。大致记得就是按照老师讲的步骤去一步一步完成就好了。具体的实现思路是一点不记得了。
- 今天在看
C++
看到这个练习,感觉好熟悉。心想这玩意太小儿科了。我可以使用Java
花式打印出各种奇怪的图形。(吹牛而已~) - 但是,没有想到的是,
C++
如同C
也是没有字符串的概念的。于是就超级蛋疼。更不同于python
。相对来说,python
实现起来会方便很多。 - 好吧,先看一下题目可代码吧:
#include /*
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:8
space:4**********
**********
**********
**********
**********Process finished with exit code 0 */
看到了吧,这个打印三角形,真的不是简单的遍历一下,然后无脑输出
*
就可以了。还要去计算左边空格的个数,左边*
的个数,右边*
的个数。【大猫学C/C++|c++:使用*号打印三角形】最后,这个小练习虽然连入门都算不上。但是我依然很高兴。因为是自己认真思考了,然后完成了这个小练习。yeah??