質問するログイン新規登録

質問編集履歴

3

誤字

2020/07/15 09:26

投稿

yuutakunn
yuutakunn

スコア2

title CHANGED
File without changes
body CHANGED
@@ -6,33 +6,22 @@
6
6
 
7
7
  > 引用テキスト#include <stdio.h>
8
8
 
9
+ #include <stdio.h>
9
- int main(void)
10
+ main()
10
- {
11
+ {
12
+ int a, b, r, temp;
11
13
 
14
+ while( 1 ) {
15
+ printf( "2つの自然数を指定してください : " );
16
+ if( scanf( "%d, %d", &a, &b ) != 2 ) break;
17
+ if( a < b ) { temp = a; a = b; b = temp; }
12
- int a, b, r, p,q;
18
+ if( b < 1 ) continue;
13
19
 
14
- printf("2つ自然数を入力してください。\n");
20
+ //ユークリッド互除法により最大公約数を求める
15
- printf("1つ目の自然数 = "); scanf("%d", &a);
16
- printf("2つ目の自然数 = "); scanf("%d", &b);
17
-
18
- if(a>b){
21
+ while( (r = a % b) != 0 ) {
19
- p = a;
20
- q = b;
22
+ a = b;
23
+ b = r;
24
+ }
25
+ printf( "最大公約数は%d\n", b );
21
26
  }
22
-
23
- if(a<=b){
24
- p = b;
25
- q = a;
26
- }
27
+ }
27
-
28
- while(1)
29
- {
30
- r = p % q;
31
- if(r==0)
32
- break;
33
- }
34
-
35
- printf("最大公約数 = %d\n", p);
36
-
37
- return 0;
38
- }

2

gkji

2020/07/15 09:26

投稿

yuutakunn
yuutakunn

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,10 @@
1
+ コード
1
- c言語
2
+ ```c言語
2
3
  無限ループとbreak文でユークリッドの互除法を作成したい
3
4
  このままだと最大公約数は表示されません。
4
5
  どこが間違っているのでしょうかお願いします。
5
6
 
6
- #include <stdio.h>
7
+ > 引用テキスト#include <stdio.h>
7
8
 
8
9
  int main(void)
9
10
  {

1

2020/07/15 09:13

投稿

yuutakunn
yuutakunn

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,7 @@
1
1
  c言語
2
- 無限ループとbreak文でユークリッドの互除法を作成
2
+ 無限ループとbreak文でユークリッドの互除法を作成したい
3
-
3
+ のままだと最大公約数は表示されません。
4
- 間違っているか聞きたす。
4
+ どこが間違っているのでしょうお願します。
5
- お願いします。
6
5
 
7
6
  #include <stdio.h>
8
7
 
@@ -32,7 +31,7 @@
32
31
  break;
33
32
  }
34
33
 
35
- printf("最大公約数 = %d\n", r);
34
+ printf("最大公約数 = %d\n", );
36
35
 
37
36
  return 0;
38
37
  }