지금 현재 while문으로 문제를 하나 풀고있습니다.
출력형태가
*
o*
oo*
ooo*
oooo*
이런 형태가 나오도록 while 두번중첩시켜서 코딩하는건데
밑의 코딩은 제가 일단 코딩한겁니다.
#include stdio.h
int main(void)
{
int a=0;
int b=0;
int c=0;
while(a5)
{
while(c0)
{
printf(o);
while(b1)
{
printf(o);
b--;
}
c=0;
}
printf(*\n);
a++;
b++;
c++;
}
return 0;
}
제가한 코딩 실행하면
*
o*
oo*
oo*
oo*
이렇게 출력되는데
도대체 어디서 막혀서 이런건지 모르겠습니다.
제 코딩에 어디가 문제인지좀 가르쳐 주세요.
다른 방식 더 좋은 코딩 이런거 말고 제 코딩에서의 문제점좀 가르쳐주세요.
알프레드 2026.08.23
다들 감사합니다.
여러가지 해결방법을 제시해주시는군요
더 열심히 공부해야겠어요
한추렴 2026.08.23
#includestdio.h
int main(void)
{
\tint i=0, j=0;
\twhile(i 5)
\t{
\t\twhile(j i)
\t\t{
\t\t\tprintf(\ o\);\t
\t\t\tj++;
\t\t}
\t\tj=0;
\t\tprintf(\ *\\n\);
\ti++;
\t}
}
이렇게 하면 되겠죠?
데이비드 2026.08.23
저도 이문제 때문에 참 골치 썩었습니다. 이렇게 해보심 이해되실듯해요..
for 문으로 중첩구조를 만들면 아마 금방 만드실겁니다 아래처럼요~
#includestdio.h
int main(void)
{
\tint i, j;
\tfor(i = 0; i 5; ++i)
\t{
\t\tfor(j = 0; j i; ++j)
\t\t{
\t\t\tprintf(\ o\);\t
\t\t}
\t\tprintf(\ *\\n\);
\t}
}
이렇게 하면 결과는 똑같이
동은 2026.08.23
원래 그래요! 저도 게시판 하나 만들때 ㅡ_ ㅡ 1달도 넘게 걸렸다는;;
지금은 1~2시간이면 뚝딱이지만^^;;
열심히 해보세용.. 버섯수다님 말씀처럼 하나씩 하시다보면 금방되요..
개굴츼 2026.08.23
디버깅 을 해보시면서 하시면 a,b,c 현제값이 어떤값으로 돌아가는지
확인하시면서 하시면 도움많이 될겁니다.
아직 인턴인 저로선 프로그램 수정하는 시간보단는 디버깅해서 오류 잡는 시간이 더 많이 걸린다는
김슬픔 2026.08.23
이런건...
처음에는 좀 귀찮더라도 연습장 꺼내놓고...
a, b, c 변수 적은뒤에...
그때 그때 출력되는 내용은 결과쪽에 별도로 적으시고
흐름 따라 다니시면서 차례대로 a, b, c의 변화하는 값을 적어 보시면 이해가 빠릅니다.
때려 죽여도 귀찮아서 못 하겠다 싶으시면 디버깅 기능 이용하셔서 따라다니셔도 좋습니다.