c++ - 有没有办法在不使用嵌套循环的情况下打印以下模式?
问题描述
此图像包含一个图案。'*' 被减去,'-' 被添加。
我很困惑我不允许使用嵌套循环。我不知道为什么它让我感到困惑。
#include <iostream>
using namespace std;
int main(){
string a="*";
for (int i=0; i<4; i++){
cout<<a<<endl;
a=a+"*";
}
}
我尝试了这段代码来测试打印成功的模式。以下是它制作的图案。
*
**
***
****
这似乎很好,因为 C++ 允许a=a+"*"
将字符串添加到字符串数据中。但我需要的模式是
****
***-
**--
*---
在其中,可以添加“-”,但如何减去“*”。我做不到a=a-'*'
。我需要使用字符串的索引吗?但只允许一个循环。
解决方案
for (int i=0; i<4; i++){
cout << string((4-i), '*') << string(i, '-')<< endl;
}
推荐阅读
- javascript - 电子:如何在电子中使用可读流?
- c# - 我们如何在线更新 sharepoint 中的人员选择器字段?
- python - Tobit 回归卡方
- java - QueueClient 中长时间不活动和频繁出现 MessageLockLostException
- javascript - 如何将 AJAX 响应传递给 React 组件?
- rest - 如何使用 REST API 和 XRay for JIRA 和 Cucumber + Xray 导入测试执行结果
- node.js - 对象填充数组返回 null mongoose
- c# - 从 hashset2 中删除所有出现在 hashset1 中的项目
- php - 无法将 id 与锚标记中的 URL 链接连接起来
- freemarker - 如何将哈希+字符串转换为免费标记中的数字