回答編集履歴

1

バグ修正

2020/05/12 23:19

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -10,21 +10,25 @@
10
10
 
11
11
  {
12
12
 
13
- int fee[200] = { 0 };
13
+ int fee[200] = { 0 };
14
14
 
15
- int age = 4, sex;
15
+ int age = 4, sex;
16
16
 
17
- while (age < 13) fee[age++] = 600;
17
+ while (age < 13) fee[age++] = 600;
18
18
 
19
- while (age < 18) fee[age++] = 1000;
19
+ while (age < 18) fee[age++] = 1000;
20
20
 
21
- while (age < 60) fee[age++] = 1500;
21
+ while (age < 60) fee[age++] = 1500;
22
22
 
23
- while (scanf("%d%d", &age, &sex) == 2
23
+ while (scanf("%d%d", &age, &sex) == 2
24
24
 
25
- && age >= 0 && age < 200 && sex >= 0 && sex <= 1)
25
+ && age >= 0 && age < 200 && sex >= 0 && sex <= 1) {
26
26
 
27
+ int f = fee[age];
28
+
27
- printf("%d\n", fee[age] - sex * 300);
29
+ printf("%d\n", f - (f == 1500) * sex * 300);
30
+
31
+ }
28
32
 
29
33
  }
30
34
 
@@ -33,3 +37,9 @@
33
37
  配列の中を先頭から順番に探索する必要がないので、
34
38
 
35
39
  入力データが大量にある場合などに効果的です。
40
+
41
+
42
+
43
+ **追記**
44
+
45
+ 全年齢において女性は 300円引きというバグがあったので修正しました。