a+b>c和temp=a+b; temp>c的区别?
问题来源于PAT的一道题目,Given three integers A, B and C in [-263, 263], you are supposed to tell whether A+B > C.
我的代码中有一个地方,if (a + b > c)这样提交一直有两个测试用例是答案错误,但我换成if (temp > c)就通过了。
这是什么原因?
请大神具体解释,不要什么文字不一样= =不是文字游戏。
跪谢!!!
我的代码中有一个地方,if (a + b > c)这样提交一直有两个测试用例是答案错误,但我换成if (temp > c)就通过了。
这是什么原因?
请大神具体解释,不要什么文字不一样= =不是文字游戏。
跪谢!!!
/************************************
This is a test program for anything
Enjoy IT!
************************************/
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <vector>
#include <list>
#include <set>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
/*ifstream cin;
cin.open("in.txt");
ofstream cout;
cout.open("out.txt");*/
//////////////////////////////////////////////////////////////////////////
// TO DO Whatever You WANT!
int T;
cin >> T;
int count = 0;
while (T--)
{
long long int a, b, c, temp;
cin >> a >> b >> c; // 输入a, b, c
temp = a + b;
a + b < c;
if (a > 0 && b > 0) // 正数
{
//////////////////////////////////////////////////////////////////////////
if (a + b <= 0) // 溢出
{
cout << "Case #" << ++count << ": " << "true" << endl;
}
else
{
if (a + b > c) // 输出
{
cout << "Case #" << ++count << ": " << "true" << endl;
}
else
{
cout << "Case #" << ++count << ": " << "false" << endl;
}
}
}
else if (a < 0 && b < 0) // 负数
{
//////////////////////////////////////////////////////////////////////////
if (a + b >= 0) // 溢出
{
cout << "Case #" << ++count << ": " << "false" << endl;
}
else
{
if (a + b > c) // 输出
{
cout << "Case #" << ++count << ": " << "true" << endl;
}
else
{
cout << "Case #" << ++count << ": " << "false" << endl;
}
}
}
else // 异号可以相加
{/*************************************************************************************************/
if (a + b > c) /**这里非常奇怪,写temp > c可以通过AC,写a + b > c就有两个答案错误**/
{
cout << "Case #" << ++count << ": " << "true" << endl;
}
else
{
cout << "Case #" << ++count << ": " << "false" << endl;
}
}
}
//////////////////////////////////////////////////////////////////////////
// system("pause");
return 0;
}
...全文
相关推荐
TIA博途中FB和FC块里的IN,Inout,Out的区别以及Static和Temp变量的用法.docx
理解IN、Inout、Out这三种不同的输入输出参数类型以及Static和Temp变量的用法对于编写高效且可靠的PLC程序至关重要。1.
C++面试题之数a、b的值互换(不使用中间变量)
```cpp void swapValue2(int &a, int &b) { a = a + b; b = a - b; a = a - b; } ``` 原理是先将`a`和`b`相加,然后用这个和减去
Temp1.rar_arduino_atea6u_temp1温度高_temp摄氏度_twelveb9b
在标签部分,"arduino"、"atea6u"、"temp1温度高"、"temp摄氏度"和"twelveb9b"是关键词。"
gcd.rar_a to b
GCD,还能找到满足`ax + by = gcd(a, b)`的整数解x和y。
Oracle的Temp表空间和UNDO表空间的处理
因此,在长时间运行后,可能需要进行Temp表空间的清理和优化。


