아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
탈퇴한 사용자
탈퇴한 사용자19.03.01

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
    밝은백로28519.03.02

    우선, 가장 중요한 부분은 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밖에 있어서 아닌가요?