[c언어]3/6/9게임 출력 프로그램 (두가지 방법)

2020. 11. 9. 13:45·프로그래밍/C | C++
문제

 

사용자에게 값을 입력받고 3/6/9게임을 진행하는 프로그램을 만드시오

※일의 자리수가 3,6,9의 배수인 경우에는 *을 출력

 

 

실행화면

 

 

 

코드

 

첫번째 코드

#include <stdio.h>

int main() {
	printf("369게임\n");

	int num;
	printf("수를 입력해주세요: ");
	scanf_s("%d", &num);
	

	for (int i = 1; i <= num; i++) {
		if ((i-3) % 10 == 0 || (i-6) % 10 == 0 || (i-9)%10 == 0) {
			printf("* ");
		}
		else {
			printf("%d ", i);
		}
	
	}
}

 

두번째 코드

#include <stdio.h>

int main() {
	printf("369게임\n");

	int num;
	printf("수를 입력해주세요: ");
	scanf_s("%d", &num);


	for (int i = 1; i <= num; i++) {
		int j = i%10;

		if (j == 3 || j == 6 || j == 9) {
			printf("* ");
		}
		else {
			printf("%d ", i);
		}

	}
}

 

 

코드 설명

첫번째 코드

for (int i = 1; i <= num; i++) {
		if ((i-3) % 10 == 0 || (i-6) % 10 == 0 || (i-9)%10 == 0) { 
        //숫자에 3,6,9가 들어가면 *을 입력하는 코드
			printf("* ");
		}
		else {
			printf("%d ", i); //그 이외의 경우에는 i값을 그대로 출력
		}
	}

 

<3, 6, 9의 숫자가 들어가는 수를 거르기>

1. 3이 들어가는 경우 : 순차 증가하는 i에 3을 빼면그 값은 0, 10, 20... 으로 10의 배수가 된다. (0제외)

2. 6이 들어가는 경우 : 순차 증가하는 i에 6을 빼면 그 값은 0, 10, 20... 으로 10의 배수가 된다. (0제외)

3. 9가 들어가는 경우 : 순차 증가하는 i에 9를 빼면그 값은 0, 10, 20... 으로 10의 배수가 된다. (0제외)

 

위 세 가지 경우를 제외하면 3, 6, 9를 뺀 수가 10의 배수가 되는 경우는 없다. (ex. 14-3 =11, 200-6 =194, 43-9=34...)

이전 포스팅에서 다룬 약수/배수 관련 개념을 참고하여 생각했을 때,

위 세 경우에서 도출된 값을 10으로 나누면 모두 나머지가 0이다. (0나누기 10의 나머지 역시 0이다.)

 

마지막으로, 세 가지 경우를 or 연산자로 연결한다.

 

<그 외>

위 세가지 외의 경우에는 i값을 그대로출력한다.

 

 

 

 

두번째 코드

for (int i = 1; i <= num; i++) {
		int j = i%10;

		if (j == 3 || j == 6 || j == 9) {
			printf("* ");
		}
		else {
			printf("%d ", i);
		}

	}

 

j라는 변수를 하나 선언하여 i값을 10으로 나눈 나머지를 저장한다.

나머지가 3이나 6이나 9일때 *을 출력한다.

 

 

저작자표시 (새창열림)

'프로그래밍 > C | C++' 카테고리의 다른 글

[c언어] 약수 출력 프로그램(for문 사용)  (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
'프로그래밍/C | C++' 카테고리의 다른 글
  • [c언어] 약수 출력 프로그램(for문 사용)
  • [c언어]입력받은 수만큼 숫자가 증가하는 프로그램(이중for문)
  • [c언어]배열: 입력받은 숫자를 거꾸로 출력
  • [c언어]배열: 최대/최솟값 출력
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    컴퓨터네트워크
    강의내용정리
    d3
    Til
    mysql
    플러터
    리액트
    자바스크립트
    공식문서
    ZeroCho
    블로그 제작
    클론 프로젝트
    프로그래머스
    AWS
    Next.js
    프로젝트
    뉴렉처
    웹사이트
    spring boot
    Jiraynor Programming
    React
    타입스크립트
    자바
    bfs
    파이썬
    SWEA
    백준
    알고리즘
    구현
    포트폴리오
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[c언어]3/6/9게임 출력 프로그램 (두가지 방법)
상단으로

티스토리툴바