为什么 cout 在我的代码中不起作用并且没有向我显示 (i - 1)?

  • 本文关键字:显示 cout 代码 不起作用 c++
  • 更新时间 :
  • 英文 :


有人能帮我处理这段代码吗?我不知道为什么cout不起作用,它没有在第14行显示(I-1(;

问题是:乔有240分钟的时间做他的考试。第一道题需要5分钟的时间,第二道题需要10分钟等等。他考试后需要k分钟的时间吃晚饭。现在我们想知道他能做多少题。n是问题的数量,k是吃晚饭所花费的时间。

#include <iostream>
using namespace std;
int main()
{
int i, n, k, sum = 0;
cin >> n >> k;
for(i = 1; i <= n; i++){
if(sum <= 240 - k){
sum += 5 * i;
}
else{
cout << i - 1;
break;
}
}
}

cout被缓冲。i可能确实出现,只是不在您要查看的位置:就在下一个提示之前,因为您没有发送换行符。

cout << i - 1 << 'n';

您还可以看到:

cout << i - 1 << endl;

这里,endl是一条换行符加上一条指令。当插入到ostream中时,if会导致刷新,强制写入所有挂起的输出。当您需要在一个设备上交错缓冲区时,比如将标准输入和标准输出发送到同一文件或终端时,这会很方便。

因为在n=5和k=10的情况下,sum无法达到实际打印的阈值。我不确定你想做什么,但打印出循环可能会有所帮助。

#include <iostream>
using namespace std;
int main()
{
int i, n, k, sum = 0;
cin >> n >> k;
for(i = 1; i <= n; i++){
if(sum <= 240 - k){
sum += 5 * i;
}
else{
break;
}
}
cout << i - 1;
}

最新更新