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