C++ 循环没有结束,我需要在代码中找到错误 #包括 使用名称空间std; int main(){ int64\n; int64_t m; int64_t Sum; cin>>n; 对于(int64_t i=0;i>a>>b; int64_t m=0; 而(m
问题在于这一部分:C++ 循环没有结束,我需要在代码中找到错误 #包括 使用名称空间std; int main(){ int64\n; int64_t m; int64_t Sum; cin>>n; 对于(int64_t i=0;i>a>>b; int64_t m=0; 而(m,c++,C++,问题在于这一部分: #include<iostream> using namespace std; int main(){ int64_t n; int64_t m; int64_t Sum; cin >> n; for(int64_t i=0; i<n-1; i++){ int64_t a, b; cin >> a >> b; int64_t m =
#include<iostream>
using namespace std;
int main(){
int64_t n;
int64_t m;
int64_t Sum;
cin >> n;
for(int64_t i=0; i<n-1; i++){
int64_t a, b;
cin >> a >> b;
int64_t m = 0;
while(m <= b){
int64_t y = 0;
m = a + y;
Sum += m;
y++;
}
}
cout << Sum;
}
在这里,
int64\u t y=0
将只执行一次,并且不会重置y
,因此循环将终止。此部分存在问题:
#include<iostream>
using namespace std;
int main(){
int64_t n;
int64_t m;
int64_t Sum;
cin >> n;
for(int64_t i=0; i<n-1; i++){
int64_t a, b;
cin >> a >> b;
int64_t m = 0;
while(m <= b){
int64_t y = 0;
m = a + y;
Sum += m;
y++;
}
}
cout << Sum;
}
在这里,
int64_t y=0
只执行一次,并且不会重置y
,因此循环将终止。在中,而循环y
固定为0
,因此m
永远不会更改(m==a
),而且b
永远不会更改,因此如果循环开始,它将永远不会停止,只需将int64_t y=0;
移到循环之外。尝试为您的IDE找到一个视频教程,教您如何使用调试器逐步完成代码。此外,自动格式化代码,使其更易于阅读、理解和正确使用。作为这里的新用户,还需要在循环中,y
固定为0
,因此m
从不改变(m==a
),而且b
永远不会更改,因此如果循环开始,它将永远不会停止,只需将int64_t y=0;
移到循环之外。尝试为您的IDE找到一个视频教程,教您如何使用调试器逐步完成代码。此外,自动格式化代码,使其更易于阅读、理解和正确使用。作为这里的新用户,还需要阅读。
int64_t y = 0;
while(m<=b){
m=a+y;
Sum +=m;
y++;
}