아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
아하

생활

생활꿀팁

탈퇴한 사용자
탈퇴한 사용자

C언어 프로그래밍 질문드립니다

n이 주어지면

1 + 1/2 + 1/3 + ... + 1/n 을 출력하는 프로그램을 작성하는 건데


#include "stdafx.h"

int main()
{
int n;
int x = 1;
float y = 0;
scanf("%d", &n);

while(x<=n);
{
y = y + 1/x;
x=x+1;
}
printf("%f", y);

}


위와 같이 프로그래밍 했습니다. 빌드에 성공했는데 실행 창에서 자연수 하나를 입력하면 그 숫자만 뜨고 조화급수 값이 출력이 안되는데 뭔가요...

    55글자 더 채워주세요.
    2개의 답변이 있어요!
    • 밝은백로285
      밝은백로285

      우선, 가장 중요한 부분은 while() 반복문 다음에 세미콜론(;)이 들어가지 않는다는 점입니다.

      많은 개발자분들이 처음에 자주 겪는 실수인데요.

      보여주신 예제를 실행하면 출력이 정상적으로 안되고 에러가 뜨는데, 세미콜론을 지우고 해보면 정상 동작이 되는 것을 확인할 수 있을 것입니다.

    • #include "stdafx.h"

      int main()
      {
      int n;
      int x = 1;
      float y = 0;
      scanf("%d", &n);

      while(x<=n)
      {
      y = y + 1/x;
      x=x+1;

      printf("%f", y);
      }

      }

      >>printf가 while밖에 있어서 아닌가요?