관련 글
C언어 문제
구구단 내림차순 출력
문제)
scanf() 함수를 이용해서 입력받은 숫자 이하의 단을 내림차순으로 출력해주세요.
중첩 for문을 이용해서 구구단을 만들어 보겠습니다.
#include <stdio.h> int main(void){ int dan, i; printf("출력할 단을 입력해주세요 >> "); fflush(stdout); scanf("%d", &dan); //입력한 단부터 2단까지 1씩 감소하면서 반복 for(; dan > 1; dan--){ printf("%d단 \n", dan); //9부터 1까지 내림차순으로 곱하기 for(i = 9; i > 0; i--){ printf("%d * %d = %d \n", dan, i, dan*i); } printf("-------------- \n"); } return 0; }
다음은 출력 결과입니다.
입력받은 단 이하의 구구단을 구하는 프로그램입니다.
입력받은 dan으로부터 dan>1까지 1씩 감소하는 for 반복문을 만듭니다.
이 for문이 반복될 동안 9~1까지 내림차순으로 곱해주는 for문을 그 전 for문 안에 삽입합니다.
만일 위의 결과처럼 5를 입력받으면,
5단일 때, 9~1까지 곱해주고,
4단일 때, 9~1까지 곱해주고,
3단일 때, 9~1까지 곱해주고,
2단일 때, 9~까지 곱해주는 것을 반복합니다.
즉, 5~2단의 for문이 반복될 동안 9~1의 내림차순 for문이 반복되게 됩니다.
따라서 5~2단의 for문 안에 9~1의 내림 차순 for문이 중첩됩니다.
'Code.D IT 프로젝트 > C언어' 카테고리의 다른 글
[C언어 문제] 지정 배수의 합계 구하는 프로그램 (0) | 2017.06.07 |
---|---|
[C언어 문제] 학점(등급)을 출력하는 프로그램 (0) | 2017.06.02 |
[C언어 문제] 중첩 for문을 이용한 구구단 출력 (0) | 2017.06.01 |
[C언어 문제] 시, 분, 초로 계산하는 프로그램 (0) | 2017.05.31 |
[C언어 문제] 동전 교환기 (0) | 2017.05.31 |