質問編集履歴

8

訂正

2020/08/28 03:50

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
File without changes
test CHANGED
@@ -74,6 +74,10 @@
74
74
 
75
75
  ```
76
76
 
77
+ を実行すると1~25までのFizzBuzzを表示させることができました!
78
+
79
+ しかし、
80
+
77
81
  if文で$argvの値を20以上に設定したつもりですが、現状20以下の数値でも実行されます。
78
82
 
79
83
  どのように訂正したらよいでしょうか。

7

訂正

2020/08/28 03:50

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- この問題のコマンドラインから引数xを受け取るやり方、またxを20以上に設定するやり方がわかりません。
25
+ この問題のコマンドラインから引数xを受け取るやり方(解決済み)、またxを20以上に設定するやり方がわかりません。
26
26
 
27
27
  以下、自分が書いたコードです。(
28
28
 

6

訂正

2020/08/28 03:37

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  if ($argv > 20); {
34
34
 
35
- for($i = 1; $i < $argv ; $i++) {
35
+ for($i = 1; $i < $argv + 1 ; $i++) {
36
36
 
37
37
  if($i % 15 === 0){
38
38
 
@@ -74,8 +74,6 @@
74
74
 
75
75
  ```
76
76
 
77
- と行うと1~24までのFizzBuzzが実行されました。なぜ25まで実行されないのでしょうか。
78
-
79
- また、if文で$argvの値を20以上に設定したつもりですが、現状20以下の数値でも実行されます。
77
+ if文で$argvの値を20以上に設定したつもりですが、現状20以下の数値でも実行されます。
80
78
 
81
79
  どのように訂正したらよいでしょうか。

5

訂正

2020/08/28 03:34

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  $argv = $argv[1];
32
32
 
33
- if ($argv > 12); {
33
+ if ($argv > 20); {
34
34
 
35
35
  for($i = 1; $i < $argv ; $i++) {
36
36
 
@@ -70,12 +70,12 @@
70
70
 
71
71
  ```comand
72
72
 
73
- php ファイル名(index.php) 15
73
+ php ファイル名(index.php) 25
74
74
 
75
75
  ```
76
76
 
77
- と行うと1~14までのFizzBuzzが実行されました。なぜ15まで実行されないのでしょうか。
77
+ と行うと1~24までのFizzBuzzが実行されました。なぜ25まで実行されないのでしょうか。
78
78
 
79
- また、if文で$argvの値を12以上に設定したつもりですが、現状12以下の数値でも実行されます。
79
+ また、if文で$argvの値を20以上に設定したつもりですが、現状20以下の数値でも実行されます。
80
80
 
81
81
  どのように訂正したらよいでしょうか。

4

質問内容の若干の変更

2020/08/28 03:32

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
File without changes
test CHANGED
@@ -24,44 +24,58 @@
24
24
 
25
25
  この問題のコマンドラインから引数xを受け取るやり方、またxを20以上に設定するやり方がわかりません。
26
26
 
27
- 以下、自分が書いたコードです。
27
+ 以下、自分が書いたコードです。
28
28
 
29
29
  ```php
30
30
 
31
- <?php
31
+ $argv = $argv[1];
32
32
 
33
- $number = fgets(STDIN);
33
+ if ($argv > 12); {
34
34
 
35
- for($i = 1; $i < $number; $i++) {
35
+ for($i = 1; $i < $argv ; $i++) {
36
36
 
37
- if($i % 15 === 0){
37
+ if($i % 15 === 0){
38
38
 
39
- echo "FizzBuzz\n";
39
+ echo "FizzBuzz\n";
40
+
41
+ }
42
+
43
+ else if($i % 3 == 0){
44
+
45
+ echo "Fizz\n";
46
+
47
+ }
48
+
49
+ else if($i % 5 == 0){
50
+
51
+ echo "Buzz\n";
52
+
53
+ }
54
+
55
+ else{
56
+
57
+ echo $i."\n";
58
+
59
+ }
40
60
 
41
61
  }
42
62
 
43
- else if($i % 3 == 0){
63
+ }
44
64
 
45
- echo "Fizz\n";
65
+ echo 'error';
46
-
47
- }
48
-
49
- else if($i % 5 == 0){
50
-
51
- echo "Buzz\n";
52
-
53
- }
54
-
55
- else{
56
-
57
- echo $i."\n";
58
-
59
- }
60
-
61
- }
62
66
 
63
67
  ```
64
68
 
65
- 調べたとろfgets(STDIN)を使はずのですがマンラインに打ち込んも反応しません。
69
+ のようなソースドで
66
70
 
71
+ ```comand
72
+
73
+ php ファイル名(index.php) 15
74
+
75
+ ```
76
+
77
+ と行うと1~14までのFizzBuzzが実行されました。なぜ15まで実行されないのでしょうか。
78
+
79
+ また、if文で$argvの値を12以上に設定したつもりですが、現状12以下の数値でも実行されます。
80
+
67
- どのようにすればよいでしょうか
81
+ どのように訂正したらよいでしょうか

3

print -> echo に修正

2020/08/28 03:28

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
File without changes
test CHANGED
@@ -36,25 +36,25 @@
36
36
 
37
37
  if($i % 15 === 0){
38
38
 
39
- print "FizzBuzz\n";
39
+ echo "FizzBuzz\n";
40
40
 
41
41
  }
42
42
 
43
43
  else if($i % 3 == 0){
44
44
 
45
- print "Fizz\n";
45
+ echo "Fizz\n";
46
46
 
47
47
  }
48
48
 
49
49
  else if($i % 5 == 0){
50
50
 
51
- print "Buzz\n";
51
+ echo "Buzz\n";
52
52
 
53
53
  }
54
54
 
55
55
  else{
56
56
 
57
- print $i."\n";
57
+ echo $i."\n";
58
58
 
59
59
  }
60
60
 

2

問題文の修正

2020/08/27 17:07

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  for($i = 1; $i < $number; $i++) {
36
36
 
37
- if($i % 12 === 0){
37
+ if($i % 15 === 0){
38
38
 
39
39
  print "FizzBuzz\n";
40
40
 

1

質問内容の若干の変更

2020/08/27 17:04

投稿

tomotomo_1D
tomotomo_1D

スコア4

test CHANGED
@@ -1 +1 @@
1
- FizzBuzzのマックス範囲を標準入力した値(ターミナルから受け取った値)にしたい。
1
+ FizzBuzzのマックス範囲をコマンドラインに入力した値(ターミナルから受け取った値)にしたい。
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  以下のFizzBuzz問題
4
4
 
5
- ターミナルから引数xを受け取る(xは20以上)
5
+ コマンドラインから引数xを受け取る(xは20以上)
6
6
 
7
7
  •1〜xまでの自然数を出力
8
8