#include <stdio.h>
int main(void)
{
 int n,k;
 double x,sum=1,p=1,a=1;
 char q;
 
 printf(\"다음은 e의 x승 값을 계산하는 방법입니다.\\n\\n\");
 printf(\"    k=0 ~ n에 대하여 (x^k)/k!을 합산함.\\n\\n\");
 printf(\"원하는 x의 값을 입력: \");
    scanf(\"%lf\",&x);
 printf(\"\\n원하는 n의 값을 입력(1~30): \");
 scanf(\"%d\",&n);
 for(n;((n<=0)|(n>30));n){
 printf(\"\\n원하는 n의 값을 입력(1~30): \");
 scanf(\"%d\",&n);
 }
 printf(\"\\n===========================\\n\");
 printf(\"    n\\t     결과값\\n\");
 printf(\"===========================\\n\");
 for(k=1;k<=n;k++)
 {
  p=p/k;
  a*=x;
     sum+=p*a;
 printf(\"%5d\\t    %lf\\n\",k,sum);
 }
 printf(\"===========================\\n\\n\");
 
 printf(\"계속하시겠습니까(Y/N)? \");
 scanf(\"\\n%c\",&q);
 
 
for (q;((q==\'Y\')<1)&((q==\'y\')<1)&((q==\'N\')<1)&((q==\'n\')<1);q){
  printf(\"\\n계속하시겠습니까(Y/N)? \");
     scanf(\"\\n%c\",&q);
}
 
for(q;((q==\'Y\')>=1)|((q==\'y\')>=1);q)
 {
 printf(\"\\n원하는 x의 값을 입력: \");
    scanf(\"%lf\",&x);
 printf(\"\\n원하는 n의 값을 입력(1~30): \");
 scanf(\"%d\",&n);
 for(n;(n<=0)|(n>30);n){
  printf(\"\\n원하는 n의 값을 입력(1~30): \");
     scanf(\"%d\",&n);
 }
 printf(\"\\n===========================\\n\");
 printf(\"    n\\t     결과값\\n\");
 printf(\"===========================\\n\");
 
 a=1;
 sum=1;
 p=1;
 for(k=1;k<=n;k++)
 {
  p=p/k;
  a*=x;
     sum+=p*a;
 printf(\"%5d\\t    %lf\\n\",k,sum);
 }
 printf(\"===========================\\n\\n\");
 
 printf(\"계속하시겠습니까(Y/N)? \");
 scanf(\"\\n%c\",&q);
 }
 
 return 0;
}
이런 프로그램입니다. 그런데 포문을 이용해서 계속하시겠습니까를 무한 반복하려는데 무한반복이 안되고 2번하면 끝납니다. 어떻게 바꿔야 하나요??