想喝可口可乐432 2022-04-16 18:17 采纳率: 62.5%
浏览 28
已结题

C++利用数组打印图形该怎么实现

如下两图,不清楚利用数组该如何作图,两张图都只会一行一行打出来,不知道该怎么利用循环去打印。

img

我自己的思路是一行一行打,在列那边用循环,但我觉得应该是行列都可以用循环,但不知道如何去使用循环。

  • 写回答

1条回答 默认 最新

  • czy1219 2022-04-16 19:52
    关注

    打印菱形:

    // len是指对角线长度,只能是奇数
    void func(int len)
    {
        // 打印第一行
        string str(len/2,' ');
        cout<<str<<"*"<<str<<endl;
    
        // 打印第二行到中间行
        for(int i=1;i<=len/2;++i)
        {
            string str1(len/2-i,' ');
            int nums = (len-2)-2*(len/2-i); // 减去两个*,再减去左右的空位
            string str2(nums,' ');
            cout<<str1<<"*"<<str2<<"*"<<str1<<endl;
        }
    
        // 打印中间行下一行到倒数第二行
        for(int i=1;i<len/2;++i)
        {
            string str1(i,' ');
            int nums = (len-2)-2*i;
            string str2(nums,' ');
            cout<<str1<<"*"<<str2<<"*"<<str1<<endl;
        }
    
        // 打印最后一行
        cout<<str<<"*"<<str<<endl;
    }
    
    

    有用请采纳哦,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月1日
  • 已采纳回答 4月23日
  • 创建了问题 4月16日

悬赏问题

  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了