试图创建一个for循环来显示从1(#)到8(#)的哈希符号
Trying to create a for loop to display hash symbol from 1 (#) to 8 (#)
我正在读一本挑战我解决一些c++问题的书。我能够解决一个需要我从8个符号中显示(#)到1的问题。我可以用下面的代码完成这个任务:
for (int i = 0; i < 8; i++) {
for (int j = 0; j < (8 - i); j++) {
cout << "#";
}
cout << endl;
}
然而,现在我正试着数,从1(#)到8 (#);和第一个问题正好相反
有多种方法可以实现这一点。一种方法是设置i
从0
递增到7
,使j
每次迭代递增小于或等于i + 1
。即(未测试的代码)
for (int i = 0; i < 8; i++) {
for (int j = 1; j <= i + 1 ; j++) {
cout << "#";
}
cout << endl;
}
for (int i = 0; i < 8; i++) {
for (int j = 0; j <= i; j++) {
cout << "#";
}
cout << endl;
}
要在这里添加其他答案,请不要忘记iomanip
中非常方便的std::setfill
命令:
#define FILL_CHAR '#'
#define COUNT 8
std::cout << "Count upn";
for (size_t i = 1; i <= COUNT; ++i)
{
std::cout << std::setfill(FILL_CHAR) << std::setw(i);
std::cout << FILL_CHAR << std::endl;
}
std::cout << "Count downn";
for (size_t i=0; i<COUNT; ++i)
{
std::cout << std::setfill(FILL_CHAR) << std::setw(COUNT-i);
std::cout << FILL_CHAR << std::endl;
}
现场演示
输出Count up
#
##
###
####
#####
######
#######
########
Count down
########
#######
######
#####
####
###
##
#
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 使用Qt C++计算类似Git的SHA1哈希
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 用C++将哈希表写入文件并从文件中恢复
- c++找不到具有相同哈希的无序集合元素
- 哈希文件递归并保存到矢量Cryptopp中
- 对 pair<pair<int,int>pair<int,int unordered_map进行哈希处理>>
- 直接在 unordered_map 的方法中使用哈希,而不是生成哈希的用户定义对象
- 如何为字符串生成唯一但一致的 N 位哈希(小于 64 位)?
- 定义宏后的哈希符号
- C++ concurrent_unordered_map C++11 Microsoft 使用无符号长作为密钥/哈希函数
- 对于具有 3 个无符号字符和一个 int 的结构来说,对于unordered_map来说,什么是好的哈希函数?
- gcc 预处理的表单哈希符号 + 数字"# 1"输出行是什么意思?
- 在 C/C++ 预处理器中,单个井号/哈希符号 (#) 在自己的行上有什么用
- 迁移一个哈希函数,其中包含从 C++/Qt 到 Java 的 32 位无符号整数
- 三个有符号整数的哈希函数
- 试图创建一个for循环来显示从1(#)到8(#)的哈希符号
- 使用哈希表构建符号表
- 如何在 c++ 中regex_match #(哈希符号)