gpt4 book ai didi

c++ - 即使我尝试递减 t,While 循环也没有终止

转载 作者:行者123 更新时间:2023-11-27 23:37:15 26 4
gpt4 key购买 nike

解决方案的问题是第一行将包含总数。输入和下一行将采用三个整数,然后我们必须根据输入计算结果。所以我的解决方案的问题是 While 循环没有终止。

我已经多次检查代码并认为这是由于条件语句和 if-else --t 语句没有得到执行而发生的。那么,我应该做些什么修改才能使程序在之后终止输入。

#include<iostream>
using namespace std;

int main()
{
int t{0};
cin>>t;
while(t)
{
double h{0},c{0},t(0);
cin>>h>>c>>t;
if(h>50 and c<0.7 and t>5600)
cout<<"10\n";
else if(h>50 and c<0.7)
cout<<"9\n";
else if(c<0.7 and t>5600)
cout<<"8\n";
else if(h>50 and t>5600)
cout<<"7\n";
else if(h>50 or c<0.7 or t>5600)
cout<<"6\n";
else
cout<<"5\n";
--t;
}
return 0;
}

我希望程序在输入后终止,但它没有发生。

最佳答案

在循环之外

int t{0};

在循环中你有

double h{0},c{0},t(0);

您有两个不同且独特的变量 t,它们相互影响。在循环内,当您执行 --t 时,您会递减循环内的变量,而不是用于循环条件的变量。

您可以通过为变量使用描述性名称来解决此问题,而不是使用简短的单字母名称。

关于c++ - 即使我尝试递减 t,While 循环也没有终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com