C#/실습으로 다지는 C#

[005] C# 조건문(if else) 실습 2- 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 판별

언제나 휴일 빅데이터 언제나휴일 2020. 4. 5. 15:17
반응형

소스 코드

//http://ehpub.co.kr
//실습으로 다지는 C#
//5. 조건문 if else 실습2 - 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 판별
using System;

namespace _005_조건문_실습2___두_개의_정수를_입력받아_작은_수가_큰_수의_약수인지_판별
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("첫 번째 정수를 입력하세요.");
            string input = Console.ReadLine();//input:= 정수를 입력 받는다.
            int num1 = 0;
            if (int.TryParse(input, out num1) == false)//조건(정수로 변환(input, out num1)이 실패)
            {
                Console.WriteLine("정수가 아닙니다.");//오류를 출력 후 알고리즘 종료
                return;
            }

            Console.WriteLine("두 번째 정수를 입력하세요.");
            input = Console.ReadLine();//input := 정수를 입력 받는다.
            int num2;
            if (int.TryParse(input, out num2) == false)//조건(정수로 변환(input, out num2)이 실패)
            {
                Console.WriteLine("정수가 아닙니다.");//오류를 출력 후 알고리즘 종료
                return;
            }

            //큰 수를 num1에 작은 수를 num2로 설정
            if (num1 < num2)
            {
                Swap(ref num1, ref num2);
            }

            if(num1% num2 == 0)//조건(num1을 num2로 나누었을 때 몫이 0)
            {
                Console.WriteLine("{0}은 {1}의 약수", num2, num1);//num2는 num1의 약수
            }
            else//아니면
            {
                Console.WriteLine("{0}은 {1}의 약수가 아닙니다.", num2, num1);//num2는 num1의 약수가 아님
            }
        }

        //두 수를 교환(ref num1, ref num2)
        private static void Swap(ref int num1, ref int num2)
        {
            int temp = num1;//temp:= num1 
            num1 = num2;// num1:= num2
            num2 = temp;//num2:= temp
        }
    }
}

 

실행 결과

= 테스트 case1 =
첫 번째 정수를 입력하세요.
2
두 번째 정수를 입력하세요.
8
2은 8의 약수

= 테스트 case2 =
첫 번째 정수를 입력하세요.
8
두 번째 정수를 입력하세요.
3
3은 8의 약수가 아닙니다.

= 테스트 case3 =
첫 번째 정수를 입력하세요.
8
두 번째 정수를 입력하세요.
dl
정수가 아닙니다.

= 테스트 case4 =
첫 번째 정수를 입력하세요.
vkf
정수가 아닙니다.

 

 

[실습으로 다지는 C#] 5. 조건문 실습2 – 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 판별 – 언제나 휴일

 이번 강의에서는 두 개의 정수를 입력받아 작은 수가 큰 수의 약수인지 판별하는 실습을 할 거예요.  이를 위해 먼저 어떠한 알고리즘으로 수행해야 하는지 고민해 보세요. 그리고 난 후에 의사 코드(pseudo code)를 작성해 봅시다. 여러분께서 먼저 작성하고 난 후에 비교해 보세요.  input := 정수를 입력 받는다. 조건(정수로 변환(input,out num1)이 실패) 오류를 출력 후 알고리즘 종료 input := 정수를 입력 받는다. 조건(정

ehpub.co.kr

 

반응형