第一篇博文就sb一点好了
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1720
当时看到这道题第一反应是刚学还没热乎的java的进制转换
可是貌似手头没有以非十进制读入的函数 也没有字符串转数字类型的函数
所以小纠结了一下 然后一不小心【好不小心】看到了discuss然后就呵呵了
这个问题明明小学期被助教莫名其妙地刁难过的
居然这么快就忘了【好了伤疤忘了疼
正文:
用c++流的一些神奇的功能来做
cin >> /*进制*/ >> /*变量*/;
以设定的进制去读入(就是把输入当做是这个进制的数来读入)
cout << /*进制*/ << /*变量*/;
以设定的进制去输出(把变量的值转换成这个进制的数去输出)
具体进制只有三种:oct, dec, hex(分别对应八、十、十六进制)
注意:
对于输入流 设定进制以后 如果后面的输入没有指定进制 则默认为之前设定的进制【而不是默认十进制
对于输出流同理
上代码
#include<cstdio> #include<iostream> using namespace std; int main() { int a, b; while(cin >> hex >> a >> b) { cout << a + b << endl; } return 0; }