While문 이용하여 *별로 삼각형 만들기 2 - C 언어

2020. 10. 6. 22:07·C
728x90
반응형

 

*
**
***
****
*****
cs

저번 글에서는 위와 같은 모양의 삼각형 만들기를 설명했었다.

 

tildacoderecorder.tistory.com/1?category=918749

 

C언어 - While문 이용하여 * 별로 삼각형 만들기

만들고자 하는 삼각형의 모양은 임의의 숫자를 입력받아 그 숫자만큼의 크기의 삼각형을 만들어내는 것이다. 숫자가 5라면 아래와 같은 삼각형이 나와야 한다. * ** *** **** ***** 코드를 짜면 다음�

tildacoderecorder.tistory.com

 

이번 글에서는 거꾸로 위에서 부터 아래로 별이 적어지는 삼각형을 만들 것이다.

다만 임의의 숫자를 입력받아 삼각형의 크기를 정할 것이다.

*****
****
***
**
*
cs

이 삼각형은 5를 입력받아 5줄로 삼각형을 만든 것이다.

 

큰 틀은 저번 글에서 만든 삼각형 만들기와 같다. While문을 두번 사용해 5행 5열의 공간을 만들어줘야 한다.

완성된 코드는 이와 같다.

#include <stdio.h>
 
int main()
{
  int i=1,j=1,num;
  scanf("%d",&num);
 
  while(i<=num){
    j=num;
 
    while(j>=i){
      printf("*");
      j--;
    }
 
    printf("\n");
    i++;
  }
 
 return 0;
}
cs

 

이제 순서대로 뜯어보자.

int i=1,j=1,num;
  scanf("%d",&num);
cs

 

오와 열의 변수인 i와 j, 그리고 입력받을 숫자인 num 변수를 선언한다.

임의의 숫자를 입력받아야 하기 때문에 scanf도 사용해준다.

while(i<=num){
    j=num;
    while(j>=i){
      printf("*");
      j--;
    }
    printf("\n");
    i++;
  }
cs

 

이미 저번 글에서 원리를 자세히 설명했으므로 이번 글에서는 조각 조각 뜯어 보지 않고 설명할 것이다.

 

i는 열, 즉 줄의 갯수를 뜻하고 j는 행, 별을 몇 개 찍을 것인가를 결정한다.

num이 5라고 예를 들었을 때, 1열에는 별이 5개, 2열에는 별이 4개 찍혀야 한다.

즉 i는 전과 같이 증가하되, 별의 갯수인 j는 작아져야 하는 것이다.

 

첫번재 while문을 적은 후

1열의 별의 갯수는 입력받은 숫자와 동일하니 먼저 j=num;을 적어준다.

이제

두번쨰 while문이 전과 다르므로 뜯어봐야 하는 부분이라고 볼 수 있다.

j=num;
    while(j>=i){
      printf("*");
      j--;
    }
cs

j는 계속 작아지다가도 열의 갯수보다는 작아질 수 없으니 조건문은 j>=i가 된다.

printf("*")로 별을 찍고 j--; 로 j를 1 감소시킨다.

 

이 과정을 두 while 사이를 돌며 반복하게 되면

 

 

쉽게 역삼각형을 확인할 수 있게 된다.

 

 

 

더 자세한 설명을 위해서는 전 글 참조.

tildacoderecorder.tistory.com/1?category=918749

 

C언어 - While문 이용하여 * 별로 삼각형 만들기

만들고자 하는 삼각형의 모양은 임의의 숫자를 입력받아 그 숫자만큼의 크기의 삼각형을 만들어내는 것이다. 숫자가 5라면 아래와 같은 삼각형이 나와야 한다. * ** *** **** ***** 코드를 짜면 다음�

tildacoderecorder.tistory.com

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'C' 카테고리의 다른 글

연결리스트(Linked list) 마지막에서 두번째 데이터 출력 - C 언어  (0) 2021.04.09
연결리스트(Linked list) 생성 / 출력 - C 언어  (0) 2021.04.09
포인터를 이용한 swap 함수 만들기 - C 언어  (0) 2021.03.03
C - While문 이용하여 *별로 삼각형 만들기 3  (0) 2020.10.08
While문 이용하여 * 별로 삼각형 만들기 - C 언어  (0) 2020.10.06
'C' 카테고리의 다른 글
  • 연결리스트(Linked list) 생성 / 출력 - C 언어
  • 포인터를 이용한 swap 함수 만들기 - C 언어
  • C - While문 이용하여 *별로 삼각형 만들기 3
  • While문 이용하여 * 별로 삼각형 만들기 - C 언어
waVwe
waVwe
    반응형
  • waVwe
    waVwe 개발 블로그
    waVwe
  • 전체
    오늘
    어제
    • ALL (184)
      • Python (1)
      • Spring (15)
      • DevOps (10)
      • Git (6)
      • JAVA (4)
      • C (22)
      • 코테 문제 풀이 (124)
        • 프로그래머스 (43)
        • 백준 (2)
        • 정올 (64)
        • SW Expert Academy (1)
        • 온코더 oncoder (14)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • 🐙 Github
  • 공지사항

  • 인기 글

  • 태그

    이진트리
    자료구조
    스파르타코딩
    CI/CD
    MSA
    아파치카프카
    devops
    자바
    스파르타코딩클럽
    연결리스트
    스프링
    C언어
    도커
    while문
    프로그래머스
    온코더
    progate
    Til
    알고리즘
    java
    springboot
    내일배움캠프
    C
    형변환
    docker
    깃헙
    스프링부트
    깃
    정올
    코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
waVwe
While문 이용하여 *별로 삼각형 만들기 2 - C 언어
상단으로

티스토리툴바