게시판

검색 결과: 27

, 도장_ 관리자님이 작성
 

입력값 범위를 검사하는 게 올바른 코드 작성입니다.

단, 이 문제는 입력값 범위를 벗어난 값이면 결괏값도 범위를 벗어나서 정답 처리가 되지 않습니다.

두 숫자 num1, num2가 있으면 num1 > num2 조건만 만족하면 됩니다. 이 조건을 만족하지 않으면 결괏값이 나오지 않으니 통과가 안 됩니다.


, 정 Cel님이 작성
 

안녕하세요, 체계적이고 재미있는 코딩도장 책을 발견해서 계획표 따라 열심히 공부하고 있는 학생입니다!

일단 좋은 책 만들어주셔서 정말 감사합니다ㅎㅎ

심사문제 30.7에서 질문이 있습니다.

num1과 num2의 입력값의 범위가 정해져있는데, if문에서 입력값 범위를 체크하지 않아도 괜찮은 건가요?

if (i > num2)

    break;

이렇게 풀어서 통과는 했는데

if ( (i > num2) || (num1 < 1) || (num1 > 200) || (num2 < 10) || (num2 > 200))

     break;

이렇게 입력값 범위는 굳이 체크하지 않아도 되나요?

감사합니다^^

, 구 리피님이 작성
 

= 를 == 로 바꿔보세요. 


        if (i = num2) // == 로 바꿔보세요. 

            break;


, 이 재윤님이 작성
 

#include <stdio.h>


int main(void)

{

    int num1;

    int num2;

    int i;


    scanf("%d %d", &num1, &num2);


    i = num1;


    while (1)

    {

        if (i % 10 == 7)

        {

            i++;

            continue;

        }

        

        if (i > num2)

            break;


        printf("%d ", i);

        i++;

    }


    return 0;

}

이렇게 해서 풀긴 했지만,

#include <stdio.h>


int main(void)

{

    int num1;

    int num2;

    int i;


    scanf("%d %d", &num1, &num2);


    i = num1;


    while (1)

    {

        if (i % 10 == 7)

        {

            i++;

            continue;

        }

        

        if (i = num2)

            break;


        printf("%d ", i);

        i++;

    }


    return 0;

}

왜 이렇게 하면 아무 숫자도 안나오고 입력하자마자 멈추는지 질문드립니다. 감사합니다.

, 도장_ 관리자님이 작성
 

심사문제에는 while(1) 부분이 작성되어 있으니까

while 반복문 안에 들어갈 코드만 제출해서 테스트해보세요.


, 김 현호님이 작성
 

    while (1)
    {   
        if (i % 10 == 7)
            continue; 

        if (i == num2)
            continue;

        if (i > num2)
            break;


        printf("%d\n", i);
        i++;
    }

    return 0;


작성 후 1 10 입력 했을 경우

1 2 3 4 5 6

까지만 뜨고 아무것도 뜨는게 없어요
도와주세요... 너무 답답하네요...ㅜ

, 도장_ 관리자님이 작성
 

if 문의 사용법이 잘못되었습니다.

if 문의 사용법을 다시 살펴보세요.

UNIT 17~19까지 살펴보세요.

UNIT 17.3 if 조건문에서 중괄호 생략하기를 살펴보세요.



, 최 상진님이 작성
 

 if (i % 10 != 7)
   
  if (i % 10 == 7)
   i++;
   continue;
  if (i > num2)
   break;

이걸로 답을 썼는데 실행되지 않는 코드라고 하네요

무엇이 잘못 되었나요???

, 도장_ 관리자님이 작성
 
Unit 17.3을 읽어보세요.

, Jun Yongho님이 작성
 


    if(i % 10 == 7)

      i++;

      continue;


    if (i > num2)

      break;


이렇게 코드짰는데 왜 안되는지 모르겠네요.