2017-10-27 1 views
0

숫자 0을 제공 할 때까지 루프 목록에서 숫자 목록을 읽는 프로그램을 작성해야합니다. 숫자 0은 계산에 포함되지 않고 마지막 데이터에 대한 신호일뿐입니다. 다음 프로그램은 숫자 문자열에서 min 및 max 요소를 작성하고 입력 된 횟수를 입력합니다. (2,3,1,5,4,2,3,1,5,1)숫자 목록에서 최소 및 최대 검색

예를 들어 1 분 3 회

최대 5 2 회

I은 ​​번호 문제가, 원인이 이고 최대 값이 일 때 더 낮은 숫자를 입력하십시오. lmax이 높아지고 있습니다. 두 번째 문제는 프로그램이 '0'에 응답하지 않는다는 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

int number; 
int min = 0; 
int max = 0; 
int lmin = 1; 
int lmax = 1; 
do { 
    cout << "Number: "; 
    cin >> number; 

    if (min == 0 && max == 0) { 
     min = number; 
     max = number; 
    } 

    else if (number > max && number !=0) { 
     max = number; 
     lmax = 1; 
    } 
    else if (number < min && number != 0) { 
     min = number; 
     lmin = 1; 
    } 
    else if (number = max) { 
     lmax++; 
    } 
    else if (number = min) { 
     lmin++; 
    } 


    } while (number != 0); 

    cout << "Min " << min << " " << lmin << " times" <<endl; 
    cout << "Max " << max << " " << lmax << " times" << endl; 

} 당신은 솔루션의 일부에 대한 =보다는 ==을 사용하고

답변

2

. 이 실수는 컴파일러 경고는 꺼져있다거나 무시되고 있다는 것을 의미한다

else if (number == max) { 
+2

처럼 뭔가

else if (number = max) { 

을 변경해보십시오. –

관련 문제