编程打印下列图案:按下图规律输出图形(使用循环语句实现)?

$
$$$
$$$$$
$$$$$$$
$$$$$$$$$
$$$$$$$
$$$$$
$$$
$

题主给出的图案,如用matlab来做的话,可以这样来处理。

1、分析给出的图案,可以找到其图形输出规律,即

n=2k-1  %图形递减或递增

2、利用for循环语句,计算图形输出位置【x,y】值

3、使用plot函数绘制图形符号,由于matlab暂时无法显示'$'符号,用'□'来替代,即

plot(x,y,'gs')

4、实现代码

clc

for k=[1 2 3 4 5]

    n=(2*k-1);

    y=k;

    for i=1:n

        x=i;

        plot(x,y,'gs','LineWidth',2,'MarkerSize',10,'MarkerEdgeColor','b','MarkerFaceColor',[0.5,0.5,0.5]),hold on

    end

end

for k=[4 3 2 1]

    n=(2*k-1);

    y=10-k;

    for i=1:n

        x=i;

        plot(x,y,'gs','LineWidth',2,'MarkerSize',10,'MarkerEdgeColor','b','MarkerFaceColor',[0.5,0.5,0.5]),hold on

    end

end

axis off

5、运行效果如下所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-07

c++代码

#include<iostream>

using namespace std;

int main(){

for(int i=1;i<=5;i++){

for(int j=1;j<=i*2-1;j++){

cout<<'$';

}

cout<<endl;

}

for(int i=4;i>=1;i--){

for(int j=1;j<=i*2-1;j++){

cout<<'$';

}

cout<<endl;

}

return 0;

}

运行结果

相似回答