http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=1563
A+B Coming
Time Limit: 1 Sec Memory Limit: 125 MBSubmissions: 32 Solved: 15
[ Submit][ Status][ Discuss]
Description
Many classmates said to me that A+B is must needs. If you can’t AC this problem, you would invite me for night meal. ^_^
Input
Input may contain multiple test cases. Each case contains A and B in one line. A, B are hexadecimal number. Input terminates by EOF.
Output
Output A+B in decimal number in one line.
Sample Input
1 9 A B a b
Sample Output
10 21 21
代码:
- #include <iostream>
- using namespace std;
- int a,b;
- int main(){
- while(cin>>hex>>a>>b)
- cout<<dec<<a+b<<endl;
- return 0;
- }
- /**************************************************************
- Problem: 1563
- User: mmoaay
- Language: C++
- Result: Accepted
- Time:0 ms
- Memory:1352 kb
- ****************************************************************/
刚开始的时候自己写的16进制转10进制,结果无耻地错了,然后更无耻的是:原来如此简单……
有必要总结一下c++输入输出数的进制问题:
dec-十进制(默认)
oct-八进制
hex-十六进制
在cin和cout中指明相应的数据形式。
例:
- int i,j,k,l;
- cout<<"Input i(oct) j(hex) k(hex) l(dec):"<<endl;
- cin>>oct>>i; //输入为八进制数
- cin>>hex>>j; //输入为十六进制数
- cin>>k; //输入仍为十六进制数
- cin>>dec>>l; //输入为十进制数
- cout<<"hex:"<<"i="<<hex<<i<<endl;
- cout<<"dec:"<<"j="<<dec<<j<<'/t'<<"k="<<k<<endl;
- cout<<"oct:"<<"l="<<oct<<l;
- cout<<dec<<endl; //恢复十进制输出状态