본문 바로가기
Programming/기타

[C] 시작단과 종료단을 입력받는 구구단

by Bam_t 2021. 2. 23.
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

댓글