質問編集履歴
1
修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
javascriptで計算
|
1
|
+
javascriptで入力された数値によって変わる計算結果をランキング表示するにはどうすれば良いでしょうか。
|
test
CHANGED
@@ -1,22 +1,20 @@
|
|
1
1
|
```ここに言語を入力
|
2
|
-
|
3
|
-
==============================================================
|
4
|
-
|
5
|
-
|
6
2
|
|
7
3
|
<script>
|
8
4
|
|
9
5
|
function fnckeisan() {
|
10
6
|
|
7
|
+
// 入力された数値
|
8
|
+
|
11
9
|
var sss = (document.querySelector('#sss').value);
|
12
10
|
|
13
|
-
//
|
11
|
+
// 選択された1番~5番の計算式
|
14
12
|
|
15
13
|
var asall={"a1":1,"a2":2,"a3":3,"a4":4,"a5":5};
|
16
14
|
|
17
15
|
var selecas= asall[document.querySelector('#as').value];
|
18
16
|
|
19
|
-
//
|
17
|
+
// 各種 関数の定義
|
20
18
|
|
21
19
|
var x1 = 0;
|
22
20
|
|
@@ -27,6 +25,20 @@
|
|
27
25
|
var x4 = 0;
|
28
26
|
|
29
27
|
var x5 = 0;
|
28
|
+
|
29
|
+
var word ='数値の小さな順に並べ替え';
|
30
|
+
|
31
|
+
var wordx1 ='エックス(1)';
|
32
|
+
|
33
|
+
var wordx2 ='エックス(2)';
|
34
|
+
|
35
|
+
var wordx3 ='エックス(3)';
|
36
|
+
|
37
|
+
var wordx4 ='エックス(4)';
|
38
|
+
|
39
|
+
var wordx5 ='エックス(5)';
|
40
|
+
|
41
|
+
// 選んだ計算式(1番~5番)によってx1~x5の数値が変わる
|
30
42
|
|
31
43
|
switch (selecas)
|
32
44
|
|
@@ -63,6 +75,8 @@
|
|
63
75
|
break;
|
64
76
|
|
65
77
|
}
|
78
|
+
|
79
|
+
// 入力されたsssの値によって計算式および結果が変わります
|
66
80
|
|
67
81
|
if (sss >= 300){
|
68
82
|
|
@@ -102,15 +116,19 @@
|
|
102
116
|
|
103
117
|
}
|
104
118
|
|
105
|
-
|
119
|
+
// 計算結果を表示します
|
106
120
|
|
107
|
-
|
121
|
+
document.querySelector('#ansall').textContent = `${word}
|
108
122
|
|
109
|
-
${Math.floor(ans
|
123
|
+
${wordx1}${Math.floor(ans1)}
|
110
124
|
|
111
|
-
${Math.floor(ans
|
125
|
+
${wordx2}${Math.floor(ans2)}
|
112
126
|
|
127
|
+
${wordx3}${Math.floor(ans3)}
|
128
|
+
|
129
|
+
${selecas==4?'':wordx4}${selecas==4?'':Math.floor(ans4)}
|
130
|
+
|
113
|
-
${Math.floor(ans5)}`;
|
131
|
+
${wordx5}${Math.floor(ans5)}`;
|
114
132
|
|
115
133
|
}
|
116
134
|
|
@@ -118,7 +136,11 @@
|
|
118
136
|
|
119
137
|
<form>
|
120
138
|
|
139
|
+
<td>数値を入力してください(1~9999)</td>
|
140
|
+
|
141
|
+
<input type="text" id="sss" type="number" min="0" max="9999" value="0">
|
142
|
+
|
121
|
-
<td>
|
143
|
+
<td>1番~5番の計算式を選んでください</td>
|
122
144
|
|
123
145
|
<select id="as">
|
124
146
|
|
@@ -134,9 +156,11 @@
|
|
134
156
|
|
135
157
|
</select>
|
136
158
|
|
137
|
-
<
|
159
|
+
<br>
|
138
160
|
|
139
161
|
<input type="button" value="計算" onclick="fnckeisan();">
|
162
|
+
|
163
|
+
<br>
|
140
164
|
|
141
165
|
<input type="reset" value="リセット">
|
142
166
|
|
@@ -144,18 +168,32 @@
|
|
144
168
|
|
145
169
|
</form>
|
146
170
|
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
==============================================================
|
178
|
+
|
147
179
|
```
|
148
180
|
|
149
181
|
|
150
182
|
|
183
|
+
|
184
|
+
|
151
|
-
|
185
|
+
入力された数値によって変わる計算結果を、結果に応じて並べ替えて表示したい
|
152
186
|
|
153
187
|
|
154
188
|
|
155
|
-
1番から5番を計算した答えを小さい数字から並べるようにしたいです
|
156
189
|
|
190
|
+
|
157
|
-
|
191
|
+
入力された数値や、1番~5番の中から選んだ計算式によって、出力される数値が異なってくるプログラムですが、入力値に応じて、あるいはどの計算式を選んでも、数値の小さな順に表示されるようにしたいと思っています。
|
158
192
|
|
159
193
|
|
160
194
|
|
161
|
-
どう
|
195
|
+
しかしながら、どのようにプログラムを書けばよいか分からないため、追加すべきところなどをご教授いただけると助かります。
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
なお、4番の計算式を選んだときは、エックス(4)の表示と計算結果については表示されないようにしたいのですが、非表示にすることは出来たものの、歯抜けのようなカタチになるため、そこを改善する方法もご教授いただけると助かります
|