[질문}최대값, 최소값 구하는 간단한 프로그램입니다..
둘빛
#includestdio.h
float maximum(float x, float y);
float minimum(float x, float y);
void prn_info(void);
int main(void)
{
int i, n;
float max, min, x;
prn_info();
printf(Input n: );
scanf(%d, &n);
printf(\nInput%d real numbers :, n);
scanf(%f, &x);
max = min = x;
for(i=2; i=n; ++i){
scanf(%f, &x);
max=maximum(max, x);
min=minimum(min, x);
}
printf(\n%s%11.3f\n%s%11.3f\n\n, Maximum value : , max,
Minimum value : , min);
return 0;
}
float maximum(float x, float y)
{
if(xy)
return x;
else
return y;
}
float minimum(float x, float y)
{
if(xy)
return x;
else
return y;
}
void prn_info(void)
{
printf(\n%s\n%s\n\n,
This program reads integer value for n, and then,
processes n real number to find max and min values.);
}
처음에 실행하면 몇개의 값을 입력할건지를 먼저 입력합니다..
만약 5를 입력하고.. 다음 실제 비교할 5개의 수를 입력합니다..
scanf(%f, &x);
max = min = x;
이부분에서 5개의 숫자를 공백으로 구분해서 한줄로 입력하는데
scanf()가 그렇게 한줄로 입력이 가능한지?
for(i=2; i=n; ++i){
scanf(%f, &x);
max=maximum(max, x);
min=minimum(min, x);
}
이부분의 scanf()는 어떻게 돌아가는지 잘이해가 안갑니다..i를 2부터한것도 이해가 안가고..
그쪽부분좀 설명해주시면 감사하겠습니다...꾸벅..
-
세나
아...scanf()는 원래 공백전까지만 읽어들이는거 맞죠? for문이 있어서... 5개 연속으로(띄어쓰기해서)입력할수 있는거죠?
-
뿡뿡
폰트가 넘 알아보기 힘들어요......
-
바나나맛사탕
아.. 글씨가 이상하네.. 폰트 선물 받았더니;
-
마루나
숫자는 엔터치면서 해도 되고.. 그냥 띄워쓰기로 써면 알아서 아래에 있는 for문으로 들어가구요..(마지막 질문 답변까지 된거죠;)
i를 2부터 한것은 5개를 입력받을때 첫 입력값을 max와 min에 넣기위해 scanf로 값을 한번 입력받죠..
그리고 나서 나머지 4번을 입력받는 겁니다.. 그렇기 때문에 for문 위쪽의 scanf를 i=1로 치고.. 그다음부터인 2부터 시작;
설명이 이상하네요;