質問編集履歴

5

2020/06/18 23:19

投稿

michel0000
michel0000

スコア6

test CHANGED
@@ -1 +1 @@
1
- java) 2次元配列にて合計値や平均値を算出する
1
+ java) わからない部分つい
test CHANGED
@@ -1,171 +1,47 @@
1
- 質問です。
1
+ テスト
2
-
3
- どなたか心優しい方教えてくれないでしょうか?
4
-
5
- さっぱりでして。。。
6
2
 
7
3
 
8
4
 
5
+ Webkaru
6
+
9
- java)2次元配列を使って3科目4人分の得点を入力させ、得点、合計点、平均点出力するプログラムを作りたいです。
7
+ * - 入力した長の単位センチメートル(cm)からインチ(inch)へ換算 -
8
+
9
+ */
10
+
11
+ #include <stdio.h>
10
12
 
11
13
 
12
14
 
13
-
14
-
15
- (不明点)
16
-
17
- 1,どうやって2次元配列に入力した値を入れるのでしょうか?
18
-
19
- 2,科目毎に生徒1から4の平均点を出すにはそうしたらいいのでしょうか?
20
-
21
- EX)算数
22
-
23
- 生徒1 100
15
+ int main(void){
24
-
25
- 生徒2 70
26
-
27
- 生徒3 80
28
-
29
- 生徒4 90
30
-
31
- 平均点 XX
32
16
 
33
17
 
34
18
 
35
- というイメージです。。。
19
+ float length_cm, length_in;
36
20
 
37
21
 
38
22
 
39
- 以下、教えていただき書いたコードになります。。。
23
+ /* 長さ(cm)を入力 */
24
+
25
+ printf("長さを入力(cm)= ");
26
+
27
+ scanf("%f", &length_cm);
40
28
 
41
29
 
42
30
 
43
- package test;
31
+ /* cm を inch に変換 */
32
+
33
+ length_in = length_cm * 0.3937007874;
44
34
 
45
35
 
46
36
 
47
- public class Test {
37
+ /* 表示 */
48
38
 
49
- public static void main(String[] args) {
39
+ printf("%f cm\n", length_cm);
40
+
41
+ printf("%f inch\n", length_in);
50
42
 
51
43
 
52
44
 
53
- //全点数の表示をする
54
-
55
- int[][] scores = new int[4][3];
56
-
57
-
58
-
59
- // ↓のfor文が生徒一人一人回していくループで
60
-
61
- for (int i = 0; i < scores.length; i++) {
62
-
63
- // ここが、生徒一人分のループの先頭になり
64
-
65
- System.out.println("生徒" + (i + 1)); // ★ここに追加
66
-
67
- // ↓のfor文が生徒1人分の各科目の点数出力なので、↑
68
-
69
- for (int j = 0; j < scores[0].length; j++) {
70
-
71
-
72
-
73
- System.out.println(scores[i][j]);
74
-
75
- }
76
-
77
- }
78
-
79
-
80
-
81
- // 上に同じく、↓のfor文が生徒一人一人回していくループで
82
-
83
- for (int i = 0; i < scores.length; i++) {
84
-
85
-
86
-
87
- // 生徒一人の出力結果をこのループの中で作るイメージです
88
-
89
- int sum = 0;
45
+ return 0;
90
-
91
- System.out.print("生徒" + (i + 1) + " ");
92
-
93
- for (int score : scores[i]) { // 各科目の点数出力
94
-
95
- System.out.print(score + " ");
96
-
97
- sum += score;
98
-
99
- }
100
-
101
- System.out.print("合計" + sum + " "); // 合計出力
102
-
103
- System.out.println("平均" + (sum / scores.length)); // 平均出力
104
-
105
-
106
-
107
- }
108
-
109
-
110
-
111
- }
112
-
113
-
114
46
 
115
47
  }
116
-
117
-
118
-
119
-
120
-
121
- ーーーーーーーーーー出力結果ーーーーーーーーーーーーーーーーーーー
122
-
123
-
124
-
125
- 生徒1
126
-
127
- 0
128
-
129
- 0
130
-
131
- 0
132
-
133
- ---------------------------------------------
134
-
135
- 生徒2
136
-
137
- 0
138
-
139
- 0
140
-
141
- 0
142
-
143
- ---------------------------------------------
144
-
145
- 生徒3
146
-
147
- 0
148
-
149
- 0
150
-
151
- 0
152
-
153
- ---------------------------------------------
154
-
155
- 生徒4
156
-
157
- 0
158
-
159
- 0
160
-
161
- 0
162
-
163
- ---------------------------------------------
164
-
165
- 生徒1 0 0 0 合計0 平均0
166
-
167
- 生徒2 0 0 0 合計0 平均0
168
-
169
- 生徒3 0 0 0 合計0 平均0
170
-
171
- 生徒4 0 0 0 合計0 平均0

4

修正しました。

2020/06/18 23:19

投稿

michel0000
michel0000

スコア6

test CHANGED
File without changes
test CHANGED
@@ -10,138 +10,162 @@
10
10
 
11
11
 
12
12
 
13
- 出力結果
14
13
 
15
- >生徒1
16
14
 
17
- >I科目1 : 100
15
+ (不明点)
18
16
 
19
- >科目2 : 80
17
+ 1,どうやって2次元配列に入力した値を入れるのでしょうか?
20
18
 
19
+ 2,科目毎に生徒1から4の平均点を出すにはそうしたらいいのでしょうか?
20
+
21
+ EX)算数
22
+
23
+ 生徒1 100
24
+
25
+ 生徒2 70
26
+
21
- >科目3 : 90
27
+ 生徒3 80
28
+
29
+ 生徒4 90
30
+
31
+ 平均点 XX
22
32
 
23
33
 
24
34
 
25
- ※生徒3ま同じのため省略させてください
35
+ というイメージす。。。
26
36
 
27
37
 
28
38
 
29
- >生徒1 100 80 90 合計270 平均90 生徒の全科目の平均です。
30
-
31
- >生徒2 100 80 90 合計270 平均90
39
+ 以下、教えていただき書いたコードになります。。。
32
-
33
- >生徒3 100 80 90 合計270 平均90
34
-
35
- >生徒4 100 80 90 合計270 平均90
36
40
 
37
41
 
38
42
 
39
- 平均  100 80 90 270 90
43
+ package test;
40
-
41
- ※生徒1から4の科目ごとの平均と合計、平均の平均点です。
42
44
 
43
45
 
44
46
 
45
- 出力はなるべくfor文で書きたいです。
47
+ public class Test {
46
48
 
49
+ public static void main(String[] args) {
50
+
51
+
52
+
53
+ //全点数の表示をする
54
+
55
+ int[][] scores = new int[4][3];
56
+
57
+
58
+
59
+ // ↓のfor文が生徒一人一人回していくループで
60
+
61
+ for (int i = 0; i < scores.length; i++) {
62
+
63
+ // ここが、生徒一人分のループの先頭になり
64
+
65
+ System.out.println("生徒" + (i + 1)); // ★ここに追加
66
+
47
- 生徒11の部分もfor文出力をしたいのですがどうもうまく行かず。。。
67
+ // ↓のfor文が生徒1人分の各科目の点数出力ので、
68
+
69
+ for (int j = 0; j < scores[0].length; j++) {
70
+
71
+
72
+
73
+ System.out.println(scores[i][j]);
74
+
75
+ }
76
+
77
+ }
78
+
79
+
80
+
81
+ // 上に同じく、↓のfor文が生徒一人一人回していくループで
82
+
83
+ for (int i = 0; i < scores.length; i++) {
84
+
85
+
86
+
87
+ // 生徒一人の出力結果をこのループの中で作るイメージです
88
+
89
+ int sum = 0;
90
+
91
+ System.out.print("生徒" + (i + 1) + " ");
92
+
93
+ for (int score : scores[i]) { // 各科目の点数出力
94
+
95
+ System.out.print(score + " ");
96
+
97
+ sum += score;
98
+
99
+ }
100
+
101
+ System.out.print("合計" + sum + " "); // 合計出力
102
+
103
+ System.out.println("平均" + (sum / scores.length)); // 平均出力
104
+
105
+
106
+
107
+ }
108
+
109
+
110
+
111
+ }
112
+
113
+
114
+
115
+ }
48
116
 
49
117
 
50
118
 
51
119
 
52
120
 
121
+ ーーーーーーーーーー出力結果ーーーーーーーーーーーーーーーーーーー
53
122
 
54
123
 
55
124
 
125
+ 生徒1
56
126
 
127
+ 0
57
128
 
129
+ 0
58
130
 
59
- 以下、私が書いたコードになります。。。
131
+ 0
60
132
 
61
- 全然ちんぷんかんぷんですが。。。
133
+ ---------------------------------------------
62
134
 
135
+ 生徒2
63
136
 
137
+ 0
64
138
 
65
- import java.util.Scanner;
139
+ 0
66
140
 
141
+ 0
67
142
 
143
+ ---------------------------------------------
68
144
 
69
- public class  test {
145
+ 生徒3
70
146
 
71
- public static void main(String[] args) {
147
+ 0
72
148
 
149
+ 0
73
150
 
151
+ 0
74
152
 
75
- Scanner stdIn = new Scanner(System.in);
153
+ ---------------------------------------------
76
154
 
77
- String[] subjects = {"国語", "算数", "英語"};
155
+ 生徒4
78
156
 
157
+ 0
79
158
 
159
+ 0
80
160
 
81
- int[][] scores = new int[4][subjects.length];
161
+ 0
82
162
 
163
+ ---------------------------------------------
83
164
 
165
+ 生徒1 0 0 0 合計0 平均0
84
166
 
85
- for (int i = 0; i < scores.length; i++) {
167
+ 生徒2 0 0 0 合計0 平均0
86
168
 
87
- for (int j = 0; j < scores[i].length; j++) {
169
+ 生徒3 0 0 0 合計0 平均0
88
170
 
89
-
90
-
91
- System.out.println("**** Member"+(i + 1)+" ****");
92
-
93
- System.out.print("Input point of subject"+(i + 1) +" : ");
94
-
95
-
96
-
97
- scores[i][j] = stdIn.nextInt();
98
-
99
- }
100
-
101
- System.out.println();
102
-
103
- }
104
-
105
- stdIn.close();
106
-
107
-
108
-
109
- // 生徒毎の平均
171
+ 生徒4 0 0 0 合計0 平均0
110
-
111
- for (int i = 0; i < scores.length; i++) {
112
-
113
- int sum = 0;
114
-
115
- for (int score : scores[i]) {
116
-
117
- sum += score;
118
-
119
- }
120
-
121
- System.out.println(Math.floor(sum) / Math.floor(scores[i].length));
122
-
123
- }//mathクラスで平均点は少数点切り捨てができない。
124
-
125
- System.out.println();
126
-
127
-
128
-
129
- //全点数の表示。
130
-
131
- for (int i = 0; i < scores.length; i++) {
132
-
133
- for (int j = 0; j < scores[0].length; j++) {
134
-
135
- System.out.println(scores[i][j]);
136
-
137
- }
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
- }
146
-
147
- }

3

修正しました。

2020/06/18 12:35

投稿

michel0000
michel0000

スコア6

test CHANGED
File without changes
test CHANGED
@@ -55,6 +55,10 @@
55
55
 
56
56
 
57
57
 
58
+
59
+ 以下、私が書いたコードになります。。。
60
+
61
+ 全然ちんぷんかんぷんですが。。。
58
62
 
59
63
 
60
64
 
@@ -134,15 +138,7 @@
134
138
 
135
139
 
136
140
 
137
- //平均点の表示
141
+
138
-
139
-        System.out.println("---------------------------------------------");
140
-
141
- System.out.println("");
142
-
143
- System.out.println("");
144
-
145
- System.out.println("* Name ****S1*****S2*****S3*****Total****Avg*");
146
142
 
147
143
 
148
144
 

2

修正しました。

2020/06/18 12:12

投稿

michel0000
michel0000

スコア6

test CHANGED
File without changes
test CHANGED
@@ -136,9 +136,7 @@
136
136
 
137
137
  //平均点の表示
138
138
 
139
- System.out.println("---------------------------------------------");
139
+        System.out.println("---------------------------------------------");
140
-
141
- }
142
140
 
143
141
  System.out.println("");
144
142
 
@@ -148,4 +146,6 @@
148
146
 
149
147
 
150
148
 
151
- }}
149
+ }
150
+
151
+ }

1

修正しました。

2020/06/18 11:23

投稿

michel0000
michel0000

スコア6

test CHANGED
File without changes
test CHANGED
@@ -134,14 +134,6 @@
134
134
 
135
135
 
136
136
 
137
- // //合計得点の表示
138
-
139
- // for(int i = 0; i<totals.length; i++){
140
-
141
- // System.out.println(i + totals[i]);
142
-
143
-
144
-
145
137
  //平均点の表示
146
138
 
147
139
  System.out.println("---------------------------------------------");