반응형
문제
사용자에게 숫자를 입력받아 그 숫자에 해당하는 줄만큼 수가 커지는 프로그램을 작성
실행화면

코드
#include <stdio.h> int main(){ int num; printf("숫자를 입력해 주세요: "); scanf_s("%d", &num); for (int i = 1; i <= num; i++) { //줄수 for (int j = 1; j <= i; j++) { //숫자 printf("%d ", j); } printf("\n"); } }
코드 설명
i는 줄 수, j는 숫자를 출력한다.
for (int i = 1; i <= num; i++)
i는 사용자에게 입력받은 num의 수만큼 증가한다.
ex. 사용자가 4를 입력한 경우 i역시 4번 돌아간다.
즉, 사용자가 입력하는 num의 값이 줄 수가 되게 만들어주는 코드이다.
for (int j = 1; j <= i; j++) { //숫자 printf("%d ", j); }
i안의 j는 i보다 작거나 같은 상황에서 후위증가한다. for문 안에서 증가하는 j의 값을 출력한다.
j가 i보다 커지면 for문을 빠져나온다.
따라서 이 for문에서는 i(줄 수)보다 작거나 같은 수를 출력한다.
printf("\n");
i의 for문에 해당하는 부분이다. j관련 for문에서 빠져나와 줄바꿈한다. 줄을 분리하는 역할을 하기 때문에 반드시 써주어야 한다. 쓰지 않으면

줄이 바뀌지 않는다.
더보기
추가기록(개인기록)
별 찍기와 굉장히 흡사한 로직이다.
반응형
'프로그래밍 > C | C++' 카테고리의 다른 글
[c언어]3/6/9게임 출력 프로그램 (두가지 방법) (0) | 2020.11.09 |
---|---|
[c언어] 약수 출력 프로그램(for문 사용) (0) | 2020.11.09 |
[c언어]배열: 입력받은 숫자를 거꾸로 출력 (0) | 2020.11.09 |
[c언어]배열: 최대/최솟값 출력 (0) | 2020.11.09 |
[c언어]배열: 짝수의 개수 출력 (0) | 2020.11.09 |