在C++中打印用新行分隔的6,5,4,3,2个字符
Print 6,5,4,3,2 characters separated by a new line in C++?
使用for
循环,如何将以下输出打印到控制台中:
******
*****
****
***
**
旁注:出于兴趣,是否可以在没有for
循环的情况下执行上述操作?
你可以试试这个:
for (int i=6; i>1; i--)
{
for (int j=0; j<i; j++)
cout<<"*";
cout<<endl;
}
输出:
******
*****
****
***
**
一个while循环怎么样:http://ideone.com/ezk6Ax
string s(6, '*');
while (s.size() > 1) {
cout << s << endl;
s.pop_back();
}
#include <iostream>
#include <string>
int main()
{
const std::string s("*******");
for (int i = s.size() - 1; i > 1; i--) {
std::cout << s.substr(0, i) << std::endl;
}
return 0;
}
http://coliru.stacked-crooked.com/a/10924920bc66f91d
我的变体:
#include <algorithm>
#include <iostream>
#include <iterator>
int main()
{
for (size_t i = 6; i >= 2; --i) {
std::generate_n(
std::ostream_iterator<char>(std::cout, ""), i,
[]() { return '*'; });
std::cout << 'n';
}
}
相关文章:
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 将stl字符串缩小到小于15个字符的容量
- 带有多个字符分隔符的正则表达式
- 查找字符在两个索引之间出现的次数
- 我想在C++中读取一些多个字符,但它永远不会读取第二个字符
- 如何读取单个字符并在输入两个字符序列时输出? 使用 while 循环和C++
- 如何删除字符串中的前 2 个字符(如果它有"-")
- 我已经建立了递归关系,它找到了两个字符串之间最长的连续公共字符串,我怎么能跳过其中一个字符串中的一个字符
- 注册表正在设置 1 个字符
- 使用类 ?C++ 和 SFML 以及标题中的 15 个字符
- 如何忽略第一个字符输入后的所有内容
- 将(N 个字节)无符号字符指针转换为浮点数和双 C++
- std::stoi 只转换前几个字符
- 仅读取文件末尾的最后 3 个字符,并将其另存为 int
- C++完全复制要字符串的字符列表,而不会忽略多个空格
- C++字符数组不接受超过 4 个字符的输入
- 在大小为 10 的 char 数组中输入超过 10 个字符的字符串并输出时,它会显示整个数组而不是前 10 个数组.为什
- 增量生成 - 错误:字符串的第一个字符应'0'或'1'
- 在 c++ 的 10x10 数组中生成特定数量的多个随机字符
- 函数返回两个字符串的第一个常用字符