NAVER

질문 c언어 구구단 변형 질문
비공개 조회수 241 작성일2020.10.08
#include <stdio.h>

int main(void) {
int num;
printf("1:모두, 2:짝수단, 3:홀수단 - 고르세요");
scanf("%d",&num);

if (num==1){
for (int i=2; i<=9; i++){
for (int j=1; j<=9; j++){
printf("%d x %d = %d\n", i,j, i*j);
}
printf("\n");
}
}

if (num==2){
for (int i=2; i<=9; i+=2){
for (int j=1; j<=9; j++){
printf("%d x %d = %d\n", i,j, i*j);
}
printf("\n");
}

}

if (num==3){
for (int i=3; i<=9; i+=2){
for (int j=1; j<=9; j++){
printf("%d x %d = %d\n", i,j, i*j);
}
printf("\n");
}
}
}
구구단을 출력하는데 짝수단은 짝수것에, 홀수단은 홀수것만, 그리고 해당 단의 곱셈에서 멈추게 하려면 어떤 조건을 추가해야 될까요?ㅠㅠ break, continue, switch문을 사용해야 된다는데 잘 모르겠어요ㅠㅠ

ex) 출력종류의 번호를 입력하시오.

출력종류의 번호를 입력하시오. (1:모두, 2:짝수단, 3:홀수단): 2

2*2=2



4*2=4

4*4=16



6*2=12

6*4=24

6*6=36





8*8=64
프로필 사진

답변자님,

정보를 공유해 주세요.

2 개 답변
1번째 답변
프로필 사진
팔판동공작소
지존
C, C++, 전기, 전자 공학, 기계공학 분야에서 활동
본인 입력 포함 정보
#include <stdio.h> int main(void) { int num; printf("1:모두, 2:짝수단, 3:홀수단 - 고르세요"); scanf("%d",&num); if (num==1){ for (int i=2; i<=9; i++){ for (int j=1; j<=9; j++){ printf("%d x %d = %d\n", i,j, i*j); } printf("\n"); } } if (num==2){ for (int i=2; i<=9; i+=2){ for (int j=1; j<=9; j++){ printf("%d x %d = %d\n", i,j, i*j); } printf("\n"); } } if (num==3){ for (int i=3; i<=9; i+=2){ for (int j=1; j<=9; j++){ printf("%d x %d = %d\n", i,j, i*j); } printf("\n"); } } }

2020.10.08.

도움이 되었다면 UP 눌러주세요!
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.
2번째 답변
프로필 사진
위드
초인
C, C++, MS엑셀 분야에서 활동
본인 입력 포함 정보

안녕하세요.

아래 소스 사용하시면 됩니다.

도움 되셨다면 채택 부탁드립니다. :)

#include <stdio.h> int main() { int input; while (true) { printf("종류 입력 (1. 모두, 2. 짝수 3. 홀수) : "); scanf_s("%d", &input); if (input < 1 || input > 3) { printf("잘못 입력!\n"); continue; } switch (input) { case 1: for (int i = 2; i <= 9; i++) { for (int j = 1; j <= i; j++) { if (i % 2 == 0) { if (j == 1 || j % 2 != 0) continue; else printf("%d * %d = %d\n", i, j, i * j); } else if (i % 2 != 0) { if (j % 2 == 0) continue; else printf("%d * %d = %d\n", i, j, i * j); } } } break; case 2: for (int i = 2; i <= 9; i++) { for (int j = 1; j <= i; j++) { if (i % 2 == 0) { if (j == 1 || j % 2 != 0) continue; else printf("%d * %d = %d\n", i, j, i * j); } } } break; case 3: for (int i = 2; i <= 9; i++) { for (int j = 1; j <= i; j++) { if (i % 2 != 0) { if (j % 2 == 0) continue; else printf("%d * %d = %d\n", i, j, i * j); } } } break; } } return 0; }

2020.10.09.

도움이 되었다면 UP 눌러주세요!
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.