質問編集履歴

1

修正

2018/09/19 03:06

投稿

TreesShimi
TreesShimi

スコア16

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
- document.querySelector('#ansall').textContent = `${Math.floor(ans1)}
119
+ // 計算結果を表示します
106
120
 
107
- ${Math.floor(ans2)}
121
+ document.querySelector('#ansall').textContent = `${word}
108
122
 
109
- ${Math.floor(ans3)}
123
+ ${wordx1}${Math.floor(ans1)}
110
124
 
111
- ${Math.floor(ans4)}
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>から5番を選んでください</td>
143
+ <td>15番の計算式を選んでください</td>
122
144
 
123
145
  <select id="as">
124
146
 
@@ -134,9 +156,11 @@
134
156
 
135
157
  </select>
136
158
 
137
- <input type="text" id="sss" value="">数値は?<br>
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)の表示と計算結果については表示されないようにしたいのですが、非表示にすることは出来たものの、歯抜けのようなカタチになるため、そこを改善する方法もご教授いただけると助かります