步骤和楼梯的C程序

时间:2016-02-17 11:16:30

标签: c

所以我正在编写一个程序,我们一次性收集楼梯总数和步数。例如。

让我们说

stairs=10;
steps=3;

所以从零开始。它去了。 0-1-2。然后回到1并进入1-2-3,2-3-4,3-4-5,4-5-6,依此类推,直到8-9-10 我为它编写了代码。但缺少一些东西。这是:

#include<stdio.h>

int main()
{
    int i,j,stair,step;
    stair=10;
    step=3;

    for(i=0;i<=stair;i++)
    {
        for(j=1;j<=step;j++)
        {
            printf("\nJ:::%d",j);
        }    
       printf("\tI:::%d",i);
    }
}

而不是只提供代码。有人可以用逻辑来帮助我吗? 非常感谢提前。

2 个答案:

答案 0 :(得分:1)

#include<stdio.h>
int main()
{
    int i,j,stair,step;
    stair=10;
    step=3;
    for(i=0;i<=stair-step+1;i++)// here we are decreasing step bcz we are ruuning loop for extra steps in next for loop
    {
        for(j=i;j<i+step;j++)
        {    
            printf("\nJ:::%d",j);    
        }    
        printf("\tI:::%d",i);
    }
    return 0;
}

我们现在有模式 0-1-2
1-2-3
2-3-4
3-4-5
它是一个共同的系列0,1,2,3 ...在evrey row

因为每行以前一行的+1开始,所以是i的值 所以我们将在每个循环中启动j=i,因为我将运行0,1,2,3 ...

接下来我们需要达到step的值,这样我们才会写j<i+step
这样它就可以达到当前的i +步数值 假设i = 0;
step = 3

for(j=i;j<i+step;j++)

j = 0初始值j <0 + 3表示循环将从0到2

运行
i=1 =>loop will run from j=1 to j<1+3  Output 1,2,3  
i=2 =>loop will run from j=2 to j<2+3  Output 2,3,4  
i=3 =>loop will run from j=3 to j<3+3  Output 3,4,5
...
..
..

答案 1 :(得分:-1)

不确定你的意思是什么,但如果你想通过步数上楼,那么你需要更改for循环中的增量值:

for(j=1;j<=step;j+=step)