我正在尝试找到一个越来越大的数字,但是在最后一部分出现了问题if(n1 > n2)
如果statement
给出了任意数字的话,那就不行了?
源代码:
#include"../std_lib_facilities.h"
int main()
{
int n1=0, n2=0, num;
cout << "enter two numbers: " << '\n';
int i = 1;
while (i < 2)
{
cin >> num;
++i;
}
cout << "the first number is: "<<n1<<'\t'<<"the second number is: "<<n2<<'\n';
if (n1 < n2)
{
cout << "the smaller number is: " << n1 << '\n';
cout << "the larger number is: " << n2 << '\n';
}
if (n1 > n2)
{
cout << "the1 smaller number is: " << n2 << '/n';
cout << "the larger number is: " << n1 << '/n';
}
else
{
cout << "error" << '\n';
}
system("pause");
return 0;
}
答案 0 :(得分:5)
您没有输入n1和n0,而是输入num
cin >> num;
删除此部分:
int i = 1;
while (i < 2) {
cin >> num;
++i; }
并替换为此
cin >> n1 >> n2;
您可以输入以空格分隔的两个数字
答案 1 :(得分:3)
您的所有输入都将转到num
。
抛弃while
循环并写入
cin >> n1;
cin >> n2;
代替。还要考虑使用if
,else if
块,因为朝向结尾的程序控制流是奇数:
if (n1 < n2) {
/*ToDo*/
} else if (n2 > n1){
/*ToDo*/
} else {
/*they are equal*/
}
答案 2 :(得分:0)
或者更好的是,在必须获得两个变量的输入后(这实际上是您的问题的解决方案),仍然创建一个检查更大的函数。
功能:
int func_check_greater(int num1, int num2){
return (num1 > num2) ? num1 : num2;
}