프로그래밍 과제인데 오류가 뜨는 이유를 모르겠어요.
문제는
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;
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; 은 왜 있는것인지 모르겠네요..
한번 참고해서 다시 코드를 짜보시는게 좋을것 같습니다
무슨 에러가 나오시나요?
올려주신 코드 제일 마지막에 " } "가 빠지긴 했는데 이것 말씀이신가요?
무슨 에러인지 댓글 달아 주시면 말씀드리겠습니다.
그리고
#pragma warning(disable:4996)
#pragma warning(disable:6031)
표시를 안해도 되는 방법은 아래 블로그를 참고하세요.
안녕하세요 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; }