while 문의 중첩 질문입니다 ㅜㅜ
튼동
질문 제목 :while 문의 중첩 (거의 문제 해결에 가까워 진것 같은데 마무리가 안되네여 )
프로그램사용자로부터 총 5개의 정수를 입력 받아서 , 그수의 합을 출력하는 프로그램을 작성하라.
단 ! 한가지 조건이있다. 정수는 반드시 1 이상이어야 한다. 만약에 1미만의 수가 입력되는 경우에는 ,
이를 입력으로 인정하지 않고 재 입력을 요구해야한다. 그래서 결국 1 이상의 정수 5 개를 모두 입력 받을수
있도록 프로그램을 완성하라.질문 내용 :
제가 짜본 코딩입니다.
#include stdio.h
int main (void)
{
int num1=1, num2, num3, result=0;
printf(정수입력갯수:);
scanf(%d, &num2);
printf(정수입력:);
while(num1=num2)
{
scanf(%d, &num3);
result=result+num3;
while(num31)
{
printf(재입력요구);
scanf(%d, &num3);
num31;
}
num1++;
}
printf(합 출력:%d, result);
return 0;
}제가만들어보고자 하는출력은정수입력갯수:5
정수입력: 3 4 5 6 7
합출력: 25입력 정수중에 1미만의 수가 들어가면 재입력요구 라는 문자가 뜨면서 다시 정수입력을 요구하는 식으로
만들어 볼려는데 두번째 while 문에서 재입력요구라는 문자가 계속 무한루프가 되버려요 ㅠ
두 번째 while()에서 괄호 안의 조건이 거짓이 되어야 빠져나온다는 것을 알고 있는데 0.5를 입력한다고 치면
계속 참인 조건이 되므로 무한루프가 된다는것은 알겠는데 어떻게 수정을 해야 할지 모르겠습니다 ㅜ