C 如何将两个(for循环)转换为一个(while循环)?
我在模拟一家快餐店三个多小时。三个小时分为18个间隔,每个间隔600秒。每个时间间隔都会输出600秒内发生的统计信息 我最初的结构是这样的:C 如何将两个(for循环)转换为一个(while循环)?,c,loops,for-loop,while-loop,simulation,C,Loops,For Loop,While Loop,Simulation,我在模拟一家快餐店三个多小时。三个小时分为18个间隔,每个间隔600秒。每个时间间隔都会输出600秒内发生的统计信息 我最初的结构是这样的: int i; for (i=0; i<18; i++) interval(customerArrive); int interval(double customerArrive) ... ... int t; for (t=0;t<600;t++) 这种双for循环的方法不起作用,因为它不允许时间成为连续函数。如果事件发生如中所
int i;
for (i=0; i<18; i++)
interval(customerArrive);
int interval(double customerArrive)
...
...
int t;
for (t=0;t<600;t++)
这种双for循环的方法不起作用,因为它不允许时间成为连续函数。如果事件发生如中所示,客户在第一个时间间隔内以t=599到达,则此事件在t=601时将不存在,因为在第二个时间间隔开始时,所有内容都将被擦除
我想做的方法是做一个while循环,让时间成为一个连续的函数,我只是不知道如何将我的代码“转换”成这个
是这样的吗
while (t<10800)
{
...
}
我不确定退出while循环需要什么条件
如果有必要,这里是我的完整代码:可能是,我理解你的问题。如果你想用你的话来监视某个连续的函数,你需要借助线程和计时器,这在你的范围之外。如果你想用一些基本的东西,这个问题不太清楚,请重新构造它 […]第二次间隔开始时,所有内容都将被删除 这不是因为两个for循环,而是因为外部for循环调用一个函数,然后重新初始化该函数中的内容。因此,将外部for循环移动到函数间隔中,可能会改变方法名称,因为它不再适合。用那种方法你可以写
int i, t;
… // initialize stuff
for (i=0; i<18; i++) {
for (t=0;t<600;t++) {
… // do stuff
}
}
这些循环不会擦除任何内容,也不必从某个计数器计算i和t的值
允许时间是一个连续的函数
显然,时间仍将在这些步骤中离散化。就像在while循环中一样。如果不需要离散时间步长,则必须彻底更改代码,例如,计算客户提前到达的时间,然后从一个事件到另一个事件,而不是以固定增量进行处理。关于while循环退出的条件,你们已经在你们的参考文件中建立了除法和模,我对模函数有点熟悉。我已经在程序中多次使用它来生成随机数。一般来说,a%b是a/b的剩余部分。我们就快到了,但您将不得不使用比连续函数更多的词来描述您要做的事情