본문 바로가기

연습문제

두 정수의 최대공약수 구하기 - 디버깅 두 정수의 최대공약수를 구하는 코드입니다.뭐가 문제인지 잘 모르겠습니다.왜 고쳐야 하는지하고 어떻게 고쳐야 하는지 알려주시면 감사하겠습니다. 코드의 세세한 실수가 많네요 ○ Scanf() 함수의 입력 포멧 ("%d%d") 사이에 여백이 있어야 합니다. 이대로는 3, 36, 3 6 을 구분할 수 없습니다. ○ 두 숫자가 같은 것을 확인하는 부분은 (a == b) 입니다. 여기가 (a = b) 로 되니, 이 부분만 지나면 a, b 값이 똑같아 지고, 이후 부분은 건너뛰게 됩니다. ○ 출력 부분에 "%d" 가 없으니, c 를 출력할 수가 없습니다 .Printf() 함수 사용법을 더 명확하게 보세요 ○ 최대공약수를 못찾는 경우에 대한 예외처리 추가해주세요 코드 예제 #include int main() { int.. 더보기
C언어 재귀함수로 삼각형 그리기 - 재귀함수 연습 c언어 재귀함수 연습 원인좀 알려주세요. 재귀함수로 반복문 연습해보는중인데 저가 원하는 출력문은 ***** **** *** ** * 이렇게 나오는것인데 저위에 코드대로 해보면 ***** **** *** ** * ***** 출력문이 이런형태로 나오게되는데 원인좀 알려주세요!. 왜 한번더 돌게 되는지 설명좀 해주세요. 일단 완전 잘못 짰습니다. ○ for_1 함수 중간에 main() 함수를 다시 호출하는 것부터 완전 잘못된 코드입니다. 이것은 재귀함수가 아닙니다. ○ 코드를 고쳐줄까하고 보다가, 너무 모르는 것이 많은 것 같아서, 완전히 다시 짜서 올립니다. 1. 코드가 컴파일되서 돌지도 않습니다. 예를 들어, for_1() 함수의 return을 int 형으로 선언하셨는데, 실제로는 end==0 인 케이스에.. 더보기