Programming/기타
[C] 시작단과 종료단을 입력받는 구구단
Bam_t
2021. 2. 23. 16:17
728x90
아마도 구구단시리즈의 마지막입니다. 사용자로부터 시작하는 단과 종료될 단을 입력받아서 그 사이의 구구단들을 출력합니다.
첫번째와 두번째 입력받은 수의 크기에 상관없이 그 사이의 구구단을 작은 단에서 큰 단 순서로 출력해줍니다.
#include <stdio.h>
void main() {
int input1;
int input2;
printf("단 입력 : ");
scanf_s("%d", &input1);
printf("단 입력 : ");
scanf_s("%d", &input2);
if (input2 <= input1) { //두 번째 입력 받은 단수(input2)가 처음 입력 받은 단수(input1)보다 작을 경우.
for (input2; input2 <= input1; input2++) {
printf("\n --%d단--\n", input2);
for (int i = 1; i <= 9; i++) {
printf("%d X %d = %d\n", input2, i, input2 * i);
}
printf("\n");
}
}
else { //else if(input1 > input2)도 가능!처음 입력 받은 단수(input1)이 두 번째 입력 받은 단수(input2)보다 큰 경우
for (input1; input1 <= input2; input1++) {
printf("\n --%d단--\n", input1);
for (int i = 1; i <= 9; i++) {
printf("%d X %d = %d\n", input1, i, input1 * i);
}
printf("\n");
}
}
}
작은 단에서 큰 단을 출력하기위해 우선 조건문을 통해서 입력받은 수 중 어떤 정수가 큰지를 검사합니다.
if (input2 <= input1) { //두 번째 입력 받은 단수(input2)가 처음 입력 받은 단수(input1)보다 작을 경우.
else { //else if(input1 > input2)도 가능!처음 입력 받은 단수(input1)이 두 번째 입력 받은 단수(input2)보다 큰 경우
그 다음 더 작은 정수를 시작단으로 설정하고 큰 정수단까지 도달할때까지 반복문을 이용해 반복하게 됩니다.
즉 입력받은 수 중 더 작은 수가 조건문의 초기식이 되고 더 큰 수가 조건식이 되어 반복문을 실행하게 됩니다.
for (input2; input2 <= input1; input2++)
나머지 수를 곱하는 내용은 여태 해왔던 구구단과 동일합니다.
결과 1
input1이 input2보다 작은 경우의 출력입니다.
결과 2
반대로 input1이 input2보다 큰 경우입니다.
728x90