質問編集履歴

3

名称の訂正

2017/12/19 01:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ###発生している問題・エラーメッセージ
10
10
 
11
- ンライン引数で2つの整数の値と演算子を取得する方法が分からない
11
+ コマライン引数で2つの整数の値と演算子を取得する方法が分からない
12
12
 
13
13
  ```c
14
14
 

2

発生している問題の追記

2017/12/19 01:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  16進数または10進数の2つの整数の和を16進数と10進数で求めるコードを書いています。
4
4
 
5
- 2つの整数は共に16進数または10進数とします。16進数は「0x」を頭につけて、「0xabcd」のように入力します。Javaでは以下のように実装することができたのですが、C言語でインライン引数を用いたコードに書き直す際に以下の2点で困っています。
5
+ 2つの整数は共に16進数または10進数とします。16進数は「0x」を頭につけて、「0xabcd」のように入力します。Javaでは以下のように実装することができたのですが、C言語でインライン引数を用いたコードに書き直す際に以下の3点で困っています。
6
6
 
7
7
 
8
8
 
@@ -48,6 +48,34 @@
48
48
 
49
49
 
50
50
 
51
+ ③switch文中の10進数で出た計算結果を16進数に変換する部分を C言語でどのように実装したら良いか分からない。
52
+
53
+
54
+
55
+ ```
56
+
57
+ case "+":
58
+
59
+ int result_dec = a_dec + b_dec;
60
+
61
+           //10進数から16進数に変更
62
+
63
+ char result_hex = Integer.toHexString(result_dec);
64
+
65
+ printf(" %s¥n", result_hex);
66
+
67
+ printf("(" );
68
+
69
+ printf(" %d", result_dec);
70
+
71
+ printf(")");
72
+
73
+ break;
74
+
75
+ ```
76
+
77
+
78
+
51
79
 
52
80
 
53
81
  ###該当のソースコード
@@ -100,15 +128,17 @@
100
128
 
101
129
  case "+":
102
130
 
103
- int result_dec = a_dec + b_dec;
131
+ int result_dec = a_dec + b_dec;
132
+
133
+           //
104
134
 
105
135
  char result_hex = Integer.toHexString(result_dec);
106
136
 
107
- printf(" %d¥n", result_hex);
137
+ printf(" %s¥n", result_hex);
108
138
 
109
139
  printf("(" );
110
140
 
111
- printf(" %s", result_dec);
141
+ printf(" %d", result_dec);
112
142
 
113
143
  printf(")");
114
144
 
@@ -120,13 +150,15 @@
120
150
 
121
151
  int result_dec = a_dec - b_dec;
122
152
 
153
+ //
154
+
123
155
  char result_hex = Integer.toHexString(result_dec);
124
156
 
125
- printf(" %d¥n", result_hex);
157
+ printf(" %s¥n", result_hex);
126
158
 
127
159
  printf("(" );
128
160
 
129
- printf(" %s", result_dec);
161
+ printf(" %d", result_dec);
130
162
 
131
163
  printf(")");
132
164
 

1

Cのコード修正

2017/12/19 00:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -104,9 +104,13 @@
104
104
 
105
105
  char result_hex = Integer.toHexString(result_dec);
106
106
 
107
+ printf(" %d¥n", result_hex);
108
+
107
- printf(result_hex);
109
+ printf("(" );
108
-
110
+
109
- printf("(" + result_dec + ")");
111
+ printf(" %s", result_dec);
112
+
113
+ printf(")");
110
114
 
111
115
  break;
112
116
 
@@ -118,9 +122,13 @@
118
122
 
119
123
  char result_hex = Integer.toHexString(result_dec);
120
124
 
125
+ printf(" %d¥n", result_hex);
126
+
121
- printf(result_hex);
127
+ printf("(" );
122
-
128
+
123
- printf("(" + result_dec + ")");
129
+ printf(" %s", result_dec);
130
+
131
+ printf(")");
124
132
 
125
133
  break;
126
134
 
@@ -130,6 +138,8 @@
130
138
 
131
139
 
132
140
 
141
+
142
+
133
143
  }
134
144
 
135
145
  ```