-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
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;
}
이 코드는 왜 안되나요?
답변을 작성해보세요.
1
김태원
지식공유자2020.03.21
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
답변 2