[질문] for 문을 while, do-while 문으로 변환 질문드립니다.
꽃여름
안녕하세요?
늦깍이에 혼자 C언어를 배우고 있습니다.
아무래도 독학이다 보니 이것 저것 생소하고 막히는 부분이 많네요.
책에 나오는 말들은 어찌나 어려운지...
질문 좀 드리겠습니다.
#include stdio.h
void main()
{
int nLine = 5;
for(int i=1; i=nLine;i++)
{
for(int k=1; k=nLine-i; k++)
{
printf( );
}
for(int j=1; j=(i*2)-1; j++)
{
printf(*);
}
printf(\n);
}
}
이렇게 하여
*
***
*****
*******
*********
이런 출력결과를 얻었습니다.
그런데 이것을 for 대신 while을 이용하여
*********
*******
*****
***
*
이런 결과문을 얻어야 하는데 헤메고 헤메고 헤메다...
#include stdio.h
void main()
{
int nLine = 5;
int i=1;
int j=1;
while(i=nLine)
{
printf(*);
i++;
while(j=(i*2)-1)
{
printf(\n);
j++;
}
}
}
이렇게 변환하였더니
*
*
*
*
*
이렇게 출력되는군요.
어떻게 for를 while로 변환하여야 올바른 결과를 얻을 수 있는지 조언과 설명을부탁드립니다.
또한 while로 변환된 결과를 다시 do-while을 사용하여
*
***
*****
***
*
이런 결과값을 얻어야 하는데 이 변환 방법과 설명도 같이 부탁드립니다.
미리 감사드립니다!
-
홀림길
수다님 친절하고 자세한 답변 감사합니다 ^^
-
꺄홋
처음엔 for문을 세개 쓰셨는데... 두번째에서는 while문을 두개 밖에 안쓰셨네요... -_ㅡ;;
#include stdio.h
int main()
{
int nLine = 5;
int i=0;
int j=0;
while(i = nLine)
{
\tj = 0 ;
\twhile(j++ i)
\t\tprintf(\ \) ;
\t
\tj = 0;
\twhile(j++ = (nLine-i) * 2 )
\t\tprintf(\*\) ;
\t -
피어나
초기식 ;
while(조건식) {
반복실행할실행문(들) ;
변환식 ;
} // end while
while문은 for문으로 바꿔서 사용할 수 있습니다.
for(초기식 ; 조건식 ; 변환식) {
반복실행할실행문(들) ;
} // end for
//do while 문으로 바꾸면...
초기식 ;
do {
반복실행할실행문(들) ;
변환식 ;
} while(조건식) ; // 다른 반복문과 달리 반드시 semicolon을 적어야합니다.
이렇게 되겠죠?