2 *
4 **
6 ***
需要输出上面的模式 下面给出的代码我试过了
ia_document.author
答案 0 :(得分:3)
#include <iostream>
#include<string>
int main () {
for(auto i=1;i<=3;i++)
{
std::cout << i*2 << std::string(i,'*') << '\n';
}
return 0;
}
答案 1 :(得分:2)
最简单的方法可能是
#include <iostream>
#include<string>
using namespace std;
int main (){
int a=2;
while(a<=6){
cout<< a << std::string((a/2),'*') <<endl;
// ^^^^^^^^^^^^^^^^^^^^^^
a+=2;
}
return 0;
}
答案 2 :(得分:0)
你可以添加第二个循环来处理星星。
cout<<a;
for (int i = 0; i < a/2; i++)
cout<<'*';
cout<<endl;
答案 3 :(得分:0)
您的代码应该产生编译错误,如下所示:
Rectangle {
id: container
width: 600; height: 200
Rectangle {
id: rect
width: 500; height: 500
MouseArea {
anchors.fill: parent
drag.target: rect
drag.axis: Drag.XAxis
drag.minimumX: 0
drag.maximumX: container.width - rect.width
//event slide here ?
}
}
}
因为prog.cc: In function 'int main()':
prog.cc:10:22: error: no match for 'operator*' (operand types are 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' and 'int')
cout<<a<<star*(a/2)<<endl;
~~~~^~~~~~
是一个字符串而star
是一个整数,所以你不能做你想要达到的目标。
相反,您可以在不使用a
的情况下执行此操作,而是使用单个字符。然后使用循环根据需要多次打印星星(您似乎知道循环应该执行多少次)。
代码:
std::string
输出:
#include <iostream>
using namespace std;
int main (){
char star = '*';
int i, a = 2;
while(a <= 6) {
cout << a;
i = 0;
while(i++ < a/2)
cout<< star;
cout << endl;
a+=2;
}
return 0;
}
答案 4 :(得分:0)
试试这个:
while(a <= 6){
cout<<a;
int c = 0;
int b = a/2;
while(c < b){
cout<<star<<endl;
c++;
}
a=+2;
}
这就像我能回答的一样简单。希望你能得到这个想法。