您好我尝试使用if语句解决练习题,找到两个整数之间的最小值。说明是
这是我的代码
#include <iostream>
using namespace std;
int main ()
{
int mins,a,b;
cout << "Enter two integers: ";
cin >> a >> b;
mins = a;
if (a<b)
{
cout << "The minimum of the two is " << mins;
}
else
return 0;
如果第一个整数高于第二个整数,程序会跳到最后,我的问题是它没有更新“mins”#。提前谢谢
答案 0 :(得分:1)
您的程序逻辑错误。你想要这个:
int main()
{
int mins, a, b;
cout << "Enter two integers: ";
cin >> a >> b;
if (a < b)
mins = a;
else
mins = b;
cout << "The minimum of the two is " << mins << endl;
return 0;
}
现在这仍然不完全正确,因为如果a
和b
相等,则输出不正确。
纠正是留给读者的练习。
答案 1 :(得分:0)
编写if语句,比较这两个值并更新 来自step1的变量(如果你这样做,就不会有任何'else' 正确地强>)
我认为您需要的是以下内容。
#include <iostream>
using namespace std;
int main()
{
int min; // Step 1
int a, b; // Step 2
cout << "Enter two integers: ";
cin >> a >> b;
min = a; // Step 3
if ( b < a ) min = b; // Step 4
cout << "The minimum of the two is " << min << endl;
return 0;
}
程序输出可能看起来像
Enter two integers: 3 2
The minimum of the two is 2
因此,在答案中提供的代码中,只有我的代码才能正确执行。:)
答案 2 :(得分:0)
这是错误的
mins = a;
if (a<b)
{
cout << "The minimum of the two is " << mins;
}
else
应该是。
if (a < b){
mins = a;
}
else{
mins = b;
}
cout << "The minimum of the two is " << mins;
答案 3 :(得分:0)
你可以使用shortland if / else:
#include <iostream>
#include <algorithm>
int main() {
int a, b;
std::cout << "Enter a and b: ";
std::cin >> a >> b;
int min = (a>b) ? b : a;
std::cout << "The min element is: " << min;
}