嵌套for循环背后的逻辑 我正在学习C++,并尝试在两个循环中使用C++中嵌套for for循环来打印以下内容。最后应该有16个添加操作和8个删除操作: ADD operation : Caller ID= 1 , Selected Queue= 2 ADD operation : Caller ID= 2 , Selected Queue= 2 ADD operation : Caller ID= 3 , Selected Queue= 1 ADD operation : Caller ID= 4 , Selected Queue= 1 ADD operation : Caller ID= 5 , Selected Queue= 1 ADD operation : Caller ID= 6 , Selected Queue= 2 ADD operation : Caller ID= 7 , Selected Queue= 0 ADD operation : Caller ID= 8 , Selected Queue= 1 DELETE operation : Caller ID= 1 , Selected Queue= 2 DELETE operation : Caller ID= 7 , Selected Queue= 0 DELETE operation : Caller ID= 2 , Selected Queue= 2 DELETE operation : Caller ID= 3 , Selected Queue= 1
我的代码是:嵌套for循环背后的逻辑 我正在学习C++,并尝试在两个循环中使用C++中嵌套for for循环来打印以下内容。最后应该有16个添加操作和8个删除操作: ADD operation : Caller ID= 1 , Selected Queue= 2 ADD operation : Caller ID= 2 , Selected Queue= 2 ADD operation : Caller ID= 3 , Selected Queue= 1 ADD operation : Caller ID= 4 , Selected Queue= 1 ADD operation : Caller ID= 5 , Selected Queue= 1 ADD operation : Caller ID= 6 , Selected Queue= 2 ADD operation : Caller ID= 7 , Selected Queue= 0 ADD operation : Caller ID= 8 , Selected Queue= 1 DELETE operation : Caller ID= 1 , Selected Queue= 2 DELETE operation : Caller ID= 7 , Selected Queue= 0 DELETE operation : Caller ID= 2 , Selected Queue= 2 DELETE operation : Caller ID= 3 , Selected Queue= 1,c++,for-loop,nested,C++,For Loop,Nested,我的代码是: #include <stdio.h> // For printf function #include <stdlib.h> // For srand and rand functions #include <time.h> // For time function #include <queue> // For STL queue class #define N 2 // Number of simulation cycles #de
#include <stdio.h> // For printf function
#include <stdlib.h> // For srand and rand functions
#include <time.h> // For time function
#include <queue> // For STL queue class
#define N 2 // Number of simulation cycles
#define K 3 // Number of queues
#define IC 8 // Number of incoming calls per cycle (Number of ADD operations in a cycle)
#define FC 4 // Number of finished calls per cycle (Number of DELETE operations in a cycle)
using namespace std; // C++ requirement
int main()
{
queue <int> Q[3]; // Array of STL queues (3 queues), which will store caller ID numbers
int selected_queue; // Index of a randomly selected queue
int caller_ID = 1; // Caller ID number
int tmp_caller_ID; // Temporary caller ID
srand(time(NULL)); // Seed (initialize) the random number generator
int i,j;
for(i=0;i<N;i++);
{
for(j=0;j<IC;j++);
{
selected_queue = rand() % 3; // Randomly determine the index number of a queue
Q[selected_queue].push(caller_ID); // Add a caller ID number to the selected queue
printf("ADD operation : Caller ID= %d , Selected Queue= %d \n", caller_ID, selected_queue);
caller_ID++;
}
for(j=0;j<FC;j++);
{
selected_queue = rand() % 3; // Randomly determine the index number of a queue
if (! Q[selected_queue].empty() ) // Check if the queue is not empty
{
tmp_caller_ID = Q[selected_queue].front(); // Get (without deleting) a caller ID from selected queue
Q[selected_queue].pop(); // Delete a caller ID from the selected queue
printf("DELETE operation : Caller ID= %d , Selected Queue= %d \n", tmp_caller_ID, selected_queue);
}
else
printf("DELETE operation : Selected Queue= %d (Queue is empty) \n", selected_queue);
}
}
}
对于不属于那里的语句,在
末尾有一个分号
循环可以工作,但它们只在之后执行代码块,在您的示例中这是一条空语句
去掉分号,它就可以正常工作了
e、 g.for(i=0;i在for
语句的末尾有一个分号,它不属于那里
循环可以工作,但它们只在之后执行代码块,在您的示例中这是一条空语句
去掉分号,它就可以正常工作了
e、 g.for(i=0;我对编程语言非常陌生,我不知道该工具。谢谢!请解释输出令人失望的地方。每个输出只得到一个(见下面的答案)?队列是空的(这让您感到惊讶)?显示的所需输出与您的描述不匹配?添加到(现在已删除)调试建议,这里有一些有用的信息:我对编程语言非常陌生,我不知道这个工具。谢谢!请解释一下输出中令人失望的地方。每个输出只有一个(请参见下面的答案)?队列是空的(这让您感到惊讶)?显示的所需输出与您的描述不匹配?要添加到(现已删除)调试建议中,以下是一些有用的信息:
ADD operation : Caller ID= 1 , Selected Queue= 2
DELETE operation : Selected Queue= 0 (Queue is empty)