網頁

2013年8月16日 星期五

c009: Simple Base Conversion、UVA 10473

#include<iostream>
#include<string>
#include<sstream>
#include<cctype>
#include<algorithm>

using namespace std ;

int main(){
    string line ;
    size_t found ;
    stringstream ss ;
    int num ;
    while(cin>>line){
        found = line.find("0x") ;
        if(found == string::npos){
            ss << line ; ss >> dec >> num ; ss.clear() ;
            if(num<0) break ;
            ss << hex << num ; ss >> line ; ss.clear() ;
            transform(line.begin(), line.end(), line.begin(), ::toupper);
            cout << "0x" << line << endl ;
        }
        else{
            ss << hex << line.substr(2) ;
            ss >> num ;
            cout << dec << num << endl ;
        }
        ss.str() = "" ;
        ss.clear() ;
    }
    return 0;
}

沒有留言:

張貼留言