continue 문과 break문을 사용하여
구구단을 출력하자
조건1.짝수단만 출력하자
조건2.2단은 2x2 4단은4x4 6단은6x6 8단은8x8 까지만 출력하자
인데요..
질문1.
어떻게든 풀긴 풀었는데 printf문이 어디있느냐에 따라 결과 값이 달라지더라구요
이 부분에 대한 플로어차트(?)랄까 그런게 없어서 그런지
왜 이렇게 되는지 독학의 수준에서는 이해하기가 힘들어서
여기계신 수많은 선생님들께 질문 올립니다
#include <stdio.h>
int main(void)
{
int num1,num2=1;
for(num1=1; num1<10; num1++)
{
if(num1==1||num1==3||num1==5||num1==7||num1==9)
continue;
for(num2=1; num2<10; num2++)
{
if(num2>num1)
break;
printf("%d*%d=%d \n",num1,num2,num1*num2);
}
}
return 0;
}
이것이 정답
#include <stdio.h>
int main(void)
{
int num1,num2=1;
for(num1=1; num1<10; num1++)
{
if(num1==1||num1==3||num1==5||num1==7||num1==9)
continue;
for(num2=1; num2<10; num2++)
{
if(num2>num1)
break;
}
printf("%d*%d=%d \n",num1,num2,num1*num2);
}
return 0;
}
이것이 제가했던 오답
질문2.
이렇게 작성을 하게된건..
아직 초보다 보니.. 연습문제를 풀때 전체를 바라보고 푸는게 아니라
0.#include <stdio.h>
int main(void)
{
..............
1. 구구단을 출력하자> for 문을 써야겠구나
2. 1~9까지 출력하자 > 두번써야겠구나 일단이건 나중에 해야지
3. 짝수단만 출력하자 > if문으로 조건을 만들어 줘야겠구나
4. 일단 여기까지의 잘했는지 결과를 보자 printf(%d*%d=%d);
5. 4x4 6x6 8x8 을 만들자 >if 문으로 num1>num2 하고 break 하면 되겠구나
이런식으로 생각하며 풀었던건데 이러한 방법으로 푸는것이 맞나요??
아니면 다른 방법이 있나요???