#pragma warning(disable:4996)
#include<stdio.h>
int main(void)
{
int a,max=0,min=0;
while (1)
{
printf("Input positive integer (negative integer, if you want to exit) :");
scanf("%d", &a);
if (a < 0)
break;
else {
if (a >= max)
max = a;
if ((a < min) || (min = 0))
min = a;
}
}
printf("result max = %d min= %d", max,min);
return 0;
}
결과값이
| input positive integer (negative integer, if you want to exit) : 5 input positive integer (negative integer, if you want to exit) : 32 input positive integer (negative integer, if you want to exit) : 43 input positive integer (negative integer, if you want to exit) : 11 input positive integer (negative integer, if you want to exit) : 6 input positive integer (negative integer, if you want to exit) : -1 result: maximum = 43, minimum = 5 |
이런식으로 나와야 하는데
나는 맥시멈은 잘되는데 미니멈이 계쏙 초기값인 0만 나와서 ㅠㅠㅠㅠ 도대체 왜그럴까
처음부터 차근차근 따라가봣는데도 모르겠어 도저히.. if ((a < min) || (min = 0))
min = a;
이걸 통해서 분명 min을 해결했다고 생각하느데...
min==0?
일단 min == 0임
그외엔 안나올이유가럾어보이는데
니 코드의 그 if문 들어갈 때마다 min에다가 다시 0을 대입하고 있어서 그래.. 비교문으로 바꿔
If (scanf ("%d",&a))하면 스캔에프가 함 발동되듯 min=0하면 0이들가는거임.
최근대박yang빵 정보공유! 월천club 쉽다! ㅌ nete77