• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

24. 최솟값 구하기

20.03.19 19:37 작성 조회수 129

0

#include <stdio.h>
int main(){
	int a, b, c, d, e, f, g, i=0;
	scanf("%d %d %d %d %d %d %d", a, b, c, d, e, f, g);
	while(1){
		i++;
		if(i==a) i=a;
		if(i==b) i=b;
		if(i==c) i=c;
		if(i==d) i=d;
		if(i==e) i=e;
		if(i==f) i=f;
		if(i==g) i=g;
		break;
	}
	printf("%d", i);
	
	return 0;
}
	

이 코드는 왜 안되나요?

답변 2

·

답변을 작성해보세요.

1

1. scanf는 변수앞에 주소연산자 &를 붙여야 합니다.

2. while문 안에서 제일 아래 break를 하면 while문이 바로 멈춥니다.

원래 짤려고 했던 코드가 아래와 같은 코드가 아닌가 싶네요. 분석해 보세요.

#include <stdio.h>
int main(){
	int a, b, c, d, e, f, g, i=0, flag=0;
	scanf("%d %d %d %d %d %d %d", &a, &b, &c, &d, &e, &f, &g);
	while(1){
		i++;
		if(i==a) flag=1;
		if(i==b) flag=1;
		if(i==c) flag=1;
		if(i==d) flag=1;
		if(i==e) flag=1;
		if(i==f) flag=1;
		if(i==g) flag=1;
		if(flag==1){
			printf("%d", i);
			break;
		}
	}	
	return 0;
}

0

임규범님의 프로필

임규범

질문자

2020.03.21

감사합니다 또 궁금증이풀렸습니다