永发信息网

C++ 求高手来解答一个关于循环语句的问题

答案:2  悬赏:20  手机版
解决时间 2021-08-16 03:40

昨天刚学完的简单的循环语句,老师出了个题,求解。用循环语句做,输出结果要这样

                  *       
                * * *  
              * * * * *
             *        *     
           * * *     * * *  
         * * * * * * * * * *
         *        *         *
       * * *     * * *     * * *
     * * * * * * * * * * * * * * *
    *        *         *        *
  * * *     * * *     * * *    * * *
* * * * * * * * * * * * * * * * * * * *

三角形的顶点要在中间,对的不是很齐。。

最佳答案

line 控制行数 ,但是一定要是3的倍数,简单分析一下,对几个部分分组然后按规律输出。
#include<iostream>
using namespace std;
int main()
{
    int line=24;  
    for(int i=0;i<line;++i)
    {
    for(int j=line;j>i+1;--j)
    cout<<" ";
    if(!(i%3))
    {
    for(int k=1;k<=1+i*2;++k)
    {
    if((k-1)%6)
    cout<<" ";
    else
    cout<<"*";
    }
    cout<<endl;
    }
    else if(i%3==1)
    {
    bool flag=true;
    for(int k=1;k<=1+i*2;++k)
    {
    if(flag)
    cout<<"*";
    else
    cout<<" ";
    if(!(k%3))
    flag=!flag;
    }
    cout<<endl;
    }
    else if(i%3==2)
    {
    for(int k=1;k<=1+i*2;++k)
    cout<<"*";
    cout<<endl;
    }
    }
}

全部回答

我的思想是先从容易的开始

所以我先打印了3、6、9、12行

然后我再打印1、4、7、10行

最后我才看怎么打印2、5、8、11行

不妨告诉你,虽然我得出了你想要的结果。但是打印2、5、8、11行的时候我自己也是混乱修改出来。所以你自己看看代码吧,如果实在不行,大家一起讨论一下咯

#include<iostream> using namespace std;

int main() {  int i,j;  for (i = 0; i < 12; i++)  {   int flag1 = 0;   int flag2 = 0;   if (i%3 == 0)   {    for (j = 0; j <= 12+i-1;j++)    {     if (j < 12-i-1)     {     cout << ' ';     }     else if(j%3 == 2)     {     if (flag1%2 == 0)     {     cout << '*';     }     else     {     cout << ' ';     }     flag1++;     }     else     {     cout << ' ';     }    }   }   else if (i%3 == 1)   {    int k;    for (j = 0; j <= 12+i-1;j++)    {     if (j < 12-i-1)     {     cout << ' ';     }     else if(j%3 == 1)     {     if (flag2%2 == 0)     {     for (k = 0; k < 3; k++)     {     cout << '*';     }     }     else     {     cout << ' ';     }     flag2++;     j++;     }     else     {     cout << ' ';     }    }   }   else   {        for (j = 0; j <= 12+i-1;j++)    {     if (j < 12-i-1)     {     cout << ' ';     }     else     {     cout << '*';     }    }   }   cout << endl;  }  return 0; }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
今天刚开的WLK, 我进去之后发现地面是白色的
最近咳嗽老不好 没有规律,咳嗽时间一般都在夜
天才用文言文怎么说,让朋友回家用文言文怎么
我C盘的垃圾越来越多,谁可以介绍个好用的清
已知x+y=4.|x|+|y|=7,那么,x-y的值是----.
鹤城区怀化中南民族文化艺术学校这个地址怎么
暑假到底是补课好,还是不补课好?大家都来说
clean your room!
企业哲学口号,平安保险展业课经营哲学写一段
对于再吃不长的人,怎样才能长肥?具体!
CF这些配置多少钱?
麻烦 有人可以帮我翻译日语吗
哪位兄弟姐妹刚开通年费黄钻,可不可以免费送
王牌特工经典台词英文,肥茄子王牌特工里的经
胳膊献血打针的地方越来越青了,它是正常的么
推荐资讯
七雄我背包老是打不开
救命啊 怎么办 宽带啊
军训怎么偷懒。。才能安然无恙
浠水县黄冈南城眼镜在哪里啊,我有事要去这里
快男12强唱过的歌有哪些?
谁有暗黑2物品显示补丁?1.11版的
出神入化是哪部电影的歌曲?
开超级QQ好,还是会员好啊
零线断路,火线中有电流通过吗
世人都喜欢灰太狼还是喜洋洋哇?
海子爱情语录,爱情诗集的海子的诗歌
She hurt her left leg in a traffic acciden
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?