아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
점잖은다슬기89
점잖은다슬기8921.04.12

프로그래밍 과제인데 오류가 뜨는 이유를 모르겠어요.

문제는

1~100 사이의 정수(no)를 연속으로 입력 받는다. (while) 단, 0이 입력되면 종료. 입력된 정수 중 최대값/최소값을 출력!

입니다

#include <stdio.h>

#pragma warning(disable:6031)

#pragma warning(disable:4996)

int main()

{

int no = 1, max =0, min = 101;

while (no != 0) {

printf("input value(no): ");

scanf(" %d", &no);

if (no < 101 && no > 0) {

if (no > max)

max = no;

if (no < min)

min = no;

}

else if (no == 0);

else {

printf("error\n");

no = 1;

}

}

if (max == 0 || min == 101)

printf("error");

else

printf("max = %d \nmin = %d\n", max, min);

return 0;

55글자 더 채워주세요.
답변의 개수4개의 답변이 있어요!
  • main 함수를 닫아주는 중괄호가 빠졌네요

    retun 0; 아래에 } 넣어주시면 될거 같습니다!

    프로그래밍 할때 괄호의 위치는 사람마다 다를 수 있으나

    저의 경우에는

    if (no < 101 && no > 0)

    {

    if (no > max)

    max = no;

    if (no < min)

    min = no;

    }

    이런식으로 if문 아래에 여는 괄호를 적어두면 한 눈에 볼 수 있어서 편하다고 생각합니다ㅎㅎ

    프로그래밍을 열심히 배우셔서 좋은 개발자로 거듭나길 바라겠습니다!


  • 안녕하세요

    올려주신 소스코드가 전체 소스가 맞나요? 중괄호 의 갯수가 맞지 않네요.

    들여쓰기를 해보니 main() 에 대한 닫는 중괄호가 없습니다.

    그리고 while 안에 if else if else 를 사용했는데 else if 에는 중괄호가 없습니다. 세미콜론도 없어야할것같습니다.

    그리고 마지막에 return 0; 은 왜 있는것인지 모르겠네요..

    한번 참고해서 다시 코드를 짜보시는게 좋을것 같습니다


  • 무슨 에러가 나오시나요?

    #include <stdio.h> #pragma warning(disable:6031) #pragma warning(disable:4996) int main() { int no = 1, max = 0, min = 101; while (no != 0) { printf("input value(no): "); scanf(" %d", &no); if (no < 101 && no > 0) { if (no > max) max = no; if (no < min) min = no; } else if (no == 0); else { printf("error\n"); no = 1; } } if (max == 0 || min == 101) printf("error"); else printf("max = %d \nmin = %d\n", max, min); return 0; }

    올려주신 코드 제일 마지막에 " } "가 빠지긴 했는데 이것 말씀이신가요?

    무슨 에러인지 댓글 달아 주시면 말씀드리겠습니다.

    그리고

    #pragma warning(disable:4996)

    #pragma warning(disable:6031)

    표시를 안해도 되는 방법은 아래 블로그를 참고하세요.

    https://bloodstrawberry.tistory.com/5


  • 안녕하세요 4년차 자바 개발자입니다.

    정확하게 어떤 에러가 나오는지 에러를 같이 첨부 안해주셔서 확인이 안되지만

    일단 전체 소스라고 가정하면 return 0; 다음에 } 중괄호로 main을 닫아 주셔야 할 거 같습니다.

    해당소스로 컴파일시 정상적으로 1~100 사이의 정수(no)를 연속으로 입력 받는다. (while) 단, 0이 입력되면 종료. 입력된 정수 중 최대값/최소값을 출력이 되고있습니다.

    하시면서 if, for, while 문 등 한줄인 경우 중괄호를 안해도 문법상 문제는 없지만 가독성상 한줄이라도 중괄호로 묶어주시면 좋을거같습니다.

    #include <stdio.h> #pragma warning(disable:6031) #pragma warning(disable:4996) int main(){ int no = 1, max =0, min = 101; while(true) { printf("input value(no): "); scanf(" %d", &no); if(no < 101 && no > 0) { if (no > max){ max = no; } if (no < min){ min = no; } }else if(no == 0){ break; }else { printf("error\n"); no = 1; } } if(max == 0 || min == 101){ printf("error"); } else { printf("max = %d \nmin = %d\n", max, min); } return 0; }