y45djdj 2022-04-06 16:41 采纳率: 75%
浏览 36
已结题

do while循环嵌套实现数字方阵

12345
23456
34567
45678
56789,输出这个方阵。使用do-while语句作为外循环,实现按行数循环,用while循环作为内循环,循环输出每行的5个数,但每个数据应通过计算得到,每个数据之间至少有1个空格,且要求数据左对齐。

不能使用数组

我在算法阶段就不知道该怎么设计,这个用循环该怎么做啊

以下是我的原码

#include<stdio.h>
int main()
{
int num = 0;int i=0 ;
while(1)
{
if (num == 9)
break;
if (i >= 0 && i < 4)
num++; i++;
printf("%d ", num);
if (i >= 1 && i < 5)
num++; i++;
printf("%d ", num);
if (i >= 2 && i < 6)
num++; i++;
printf("%d ", num);
if (i >= 3 && i < 7)
num++; i++;
printf("%d ", num);
switch (num)
{
case 4:
num = 5;
printf("%d\n", num);
num = num - 3; i = 1;
printf("%d ", num);
continue;
case 5:
num = 6;
printf("%d\n", num);
num = num - 3; i = 2;
printf("%d ", num);
continue;
case 6:
num = 7;
printf("%d\n", num);
num = num - 3; i = 3;
printf("%d ", num);
continue;
case 7:
num = 8;
printf("%d\n", num);
num = num - 3; i = 4;
printf("%d ", num);
case 8:
num = 9;
printf("%d\n", num);
continue;
}
/if (num >= 4 && num < 9)
{
num = num + 1;
printf("%d\n ", num);
num = num - 4; i = 0;
continue;
}
if (num == 9)
break;
/
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • A-Chin 2022-04-06 17:53
    关注

    题目要求是:
    使用do-while语句作为外循环,实现按行数循环,用while循环作为内循环,循环输出每行的5个数,但每个数据应通过计算得到,每个数据之间至少有1个空格。

    
    #include<stdio.h>
    int main()
    {
        int i = 1;
        do
        {
            int j = i;
            while(j - i < 5)
            {
                printf("%d%s", j, " ");
                j += 1;
            }
            i += 1;
            printf("\n");
        }while(i <= 5);
        return 0 ;
    }
    
    

    输出结果:

    img

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

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 修改了问题 4月6日
  • 修改了问题 4月6日
  • 展开全部

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看