テーマ244-16進数の簡単な演算


16進法の単純演算
時間制限:
1000 ms|メモリ制限:
65535 KB
難易度:
1
説明
16進数の加減式をあげます.8進数で式の結果を出力する必要があります.
入力
最初の行には正の整数T(0の次にT行があり、各行には1つの文字列s(長さ15未満)が入力されます.文字列には2つの数と1つのプラス記号または1つのマイナス記号が入力され、式は合法的で、すべての演算数は31ビット未満です.
しゅつりょく
各式の出力は1行を占め、式の8進数の結果を出力します.
サンプル入力
3
29+4823
18be+6784
4ae1-3d6c

サンプル出力
44114
100102
6565

//コード:
[html]  view plain
 copy
 print ?
#include   
int main(){  
    int T,x,y;  
    char ch;  
    scanf("%d",&T);  
    while(T--){  
        scanf("%x%c%x",&x,&ch,&y);  
        if(ch=='+')  
        printf("%o",x+y);  
        else  
        printf("%o",x-y);  
    }  
    return 0;  
}  
//最初は問題を複雑に考え、文字列配列でシミュレーションしたものを、データの基本フォーマットタイプで変換することを忘れてしまう!!!C言语の基本的な知识はやはり强化する必要があります!!!
フォーマットの説明は、%d%fなどの「%」とフォーマット文字で構成されます.出力されたデータを指定したフォーマット出力に変換する役割を果たします.フォーマットの説明は、常に「%」文字で始まります.異なるタイプのデータは異なるフォーマット文字を使用します.フォーマット文字はd,o,x,u,c,s,f,e,gなどである.のように
%d整数出力、%ld長整数出力、
%oは8進数で整数を出力し、
%xは16進数で整数を出力し、
%uはunsigned型データ(符号なし)を10進数で出力する.
%cは文字を出力するために使用されます.
%sは文字列を出力するために使用されます.
%fは実数を出力し、小数で出力するために使用され、
%eは実数を指数形式で出力し、
%gは、サイズに応じてfフォーマットまたはeフォーマットを自動的に選択し、無意味なゼロを出力しない.
scanf(制御文字、アドレスリスト)フォーマット文字の意味はprintf関数と同じであり、アドレスリストはいくつかのアドレスからなる表列であり、変数のアドレス、または文字列のヘッダアドレスであってもよい.例えばscanf("%d%c%s",&a,&b,str);
もう一つの方法は、C++の入出力を学習するついでに
       


#include
#include
#include
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    int t;cin>>t;
    while(t--) {
         int x,y;
        char op;
        cin>>hex>>x>>op>>y;
        if(op == '+')cout<


setbase(int n):数値をn進法に変換する.
cout<
    cout<
    cout<
結果は次のとおりです.
(スペース)(スペース)377
(スペース)(スペース)255
(スペース)(スペース)ff
hexは16進、octは8進、decは10進