윤성우 저 열혈강의 c프로그래밍 책으로 독학중입니다
책에서 10- 도전! 프로그래밍 one 문제들 중의 3번인데요
두 개의 정수를 입력받아서 최대공약수를 구하는 프로그램을 짜는 문제입니다.
유클리드 호제법을 사용해서 해결해보라고 해서 하는중입니다만
나름 한두시간 머리짜서 만들어 봤는데 실행하고나서 두 정수를 입력하면 아무것도 뜨질 않네요;;;
#include <stdio.h>
void gcm(int a, int b)
{
int z=a%b;
while(z!=0) // z가 0이 되면 루프 탈출
{
if(a>b)
{
z=a%b;
z=b; // a를 b로 나눈 나머지를 z로 놓고
b=a; b를 a로, z를 b로 해서 나머지가
} 0이 될 때 까지 반복 후 z가 0이 되고
반복을 멈췄을 때 b의 값이 최대공약수!!!
else
{
b=a;
a=b;
z=a%b;
z=b;
b=a;
}
}
printf("%d \n",b);
}
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
gcm(a,b);
return 0;
}
실행 후 두 정수를 입력하면 뜨는 화면입니다.
커서만 깜빡이고 printf("%d \n",b); 부분이 뜨질 않는데요..
위에서 무슨 문제가 있기에 이런걸까요??
초록색 부분에 잘못된 게 있나요?
이것저것 계속 고쳐봐도 안되길래 질문드립니다.