C++ c++;倒计时脚本 #包括 #包括 使用名称空间std; int main(int argc,char*argv[]) { int num,num2; num=33; 做 { cout

C++ c++;倒计时脚本 #包括 #包括 使用名称空间std; int main(int argc,char*argv[]) { int num,num2; num=33; 做 { cout,c++,C++,这条线: #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int num, num2; num = 33; do { cout <<"\n" <<num-3; } while (num >=3); system("PAUSE"); ret

这条线:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  int num, num2;
  num = 33;
  do
  {
      cout <<"\n" <<num-3;

}     
  while (num >=3);     
  system("PAUSE");
  return EXIT_SUCCESS;  
}

即使按照建议执行并在循环的每一次迭代中减去3(或其他),也可能不会有太大的效果。问题相当简单:更新变量的速度可能比打印输出的速度快得多,因此很容易看到十几个或更多的值同时出现

为了解决这一问题,您通常希望在迭代之间暂停一小段时间,以便在打印下一个值之前(可能)可以看到一个值。根据
系统(“暂停”);
,我猜您正在运行Windows,在这种情况下,类似这样的代码可能更符合您的喜好:

num -= 3;
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
int num=33;
做
{

不能在你的循环中使用
num-=3
尝试
num=num-3
内部循环?我不知道是谁否决了你,但我想说的是谢谢你花时间找到你的问题的最小示例并发布代码。这么多人不这么做。虽然解决方案相对简单,但你不应该被否决从技术上讲,您也可以在output语句中执行:
std::cout
num -= 3;
#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
    int num = 33;
    do
    {
        cout <<"    \r" << (num-=3);
        Sleep(100);
    }     
    while (num >=3);     
    return EXIT_SUCCESS;  
}