• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

구구단 연습문제 for문 말고 do while로 하면

22.12.19 23:29 작성 조회수 140

0

2x1=2까지만뜨고 for문처럼 반복이 안되는데 이유를 모르겠네요 ㅠ

그리고 앞에 i에 대한건 for문이고 안에만 do while로 해도 2X1 = 2 ~ 9X1=9 까지 8개 항만 뜨네요... do while끼리 중첩이나 for문 안에 들어가면 작동을 안 하는건가요??

 

int i;

int j;

do

{

i = 2;

do

{

j = 1;

int m = i * j;

Console.WriteLine("Hello World!");

Console.WriteLine(i + "x" + j + "=" + m);

j++;

} while (j == 10);

i++;

} while (i == 10);

}

}

답변 1

답변을 작성해보세요.

0

i = 2;와 j = 1; 위치가 잘못됐습니다.
do 안에 넣으시면 매 번 루프를 돌 때마다 각기 2, 1로 초기화 되겠죠.

김보현님의 프로필

김보현

질문자

2022.12.20

답변 감사합니다..!
이렇게 하면 제 생각 순서로는 j가 안에 루프에서 1~9까지갔다가 다시 1로 돌아가서 3의 구구단도 바깥 루프에서 진행될거같은데 2*1=2 한 줄만 나오네요 ㅠㅠ

class Program

{

static void Main(string[] args)

{

int i=2;

int j=1;

do

{

do

{

int m = i * j;

Console.WriteLine("Hello World!");

Console.WriteLine(i + "x" + j + "=" + m);

j++;

} while (j == 10);

i++;

j = 1;

} while (i == 10);

}

}

비슷했는데, while 조건이 != 이 되어야 합니다.
조건이 참일 때 안에 다시 들어가기 때문입니다.

김보현님의 프로필

김보현

질문자

2022.12.22

답변 감사합니다 선생님!