«   2018/12   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Statistics Graph
관리 메뉴

언제나 휴일

[C# 실습 설명] 제어문 - 공약수 구하기 본문

언어 자료구조 알고리즘/프로그래밍 실습

[C# 실습 설명] 제어문 - 공약수 구하기

언제나 휴일 언제나휴일 2018.08.31 10:28

[C# 실습 설명] 제어문 - 공약수 구하기



의사코드(pseudo code)로 알고리즘 전개하기 - 주석으로 표현

 

        //5. 두 개의 정수를 입력받아 공약수를 출력하시오.

        private static void ExE()

        {

            //fnum:= 정수 입력

            //snum:= 정수 입력

 

            //조건(fnum>snum) - (fnum snum을 바꿔야 함)

            {

                //temp := snum

                //snum := fnum

                //fnum := temp

            }

 

            //반복(n:= 1->fnum)

                //조건(n fnum snum의 약수이면)

                //*fnum n으로 나누어서 나머지가 0이면 약수임.

                    //n출력

        }


소스 코드

        //5. 두 개의 정수를 입력받아 공약수를 출력하시오.

        private static void ExE()

        {

            //fnum:= 정수 입력

            Console.WriteLine("첫 번째 정수를 입력하세요.");

            int fnum = GetNum();

            //snum:= 정수 입력

            Console.WriteLine("두 번째 정수를 입력하세요.");

            int snum = GetNum();

 

            if (fnum > snum)//조건(fnum>snum) - (fnum snum을 바꿔야 함)

            {

                int temp = snum; //temp := snum

                snum = fnum;//snum := fnum

                fnum = temp;//fnum := temp

            }

 

            for(int n=1; n<=fnum;n++)//반복(n:= 1->fnum)

            {

                if(((fnum%n)==0)&& ((snum % n) == 0))//조건(n fnum snum의 약수이면)

                //*fnum n으로 나누어서 나머지가 0이면 약수임.

                {

                    Console.WriteLine(n);//n출력

                }

            }

        }


현재까지 작성한 전체 코드

using System;

 

namespace 제어문_실습

{

    class Program

    {

        static void Main(string[] args)

        {

            //1. 두 개의 정수를 입력받아 큰 수를 출력하시오.

            //ExA();

            //2. 한 개의 정수를 입력받아 짝수인지 홀수인지 출력하시오.

            //ExB();

            //3. 점수(0~100)를 입력받아 학점을 출력하시오.           

            //0~59:F, 60~69:D, 70~79:C, 80~89:B, 90~100:A, 기타:Not Support

            //ExC();

            //4. 두 개의 정수를 입력받아 두 수의 범위에 있는 정수의 합을 출력하시오.

            //ExD();

            //5. 두 개의 정수를 입력받아 공약수를 출력하시오.

            ExE();

            //6. 사용자로부터 메뉴를 입력받아 기능을 수행하는 것을 반복하시오.

            //I를 입력하면 추가, D를 입력하면 삭제, S를 입력하면 검색,

            //L을 입력하면 전체 출력

            //E를 입력하면 반복 수행을 마감

        }

 

        //5. 두 개의 정수를 입력받아 공약수를 출력하시오.

        private static void ExE()

        {

            //fnum:= 정수 입력

            Console.WriteLine("첫 번째 정수를 입력하세요.");

            int fnum = GetNum();

            //snum:= 정수 입력

            Console.WriteLine("두 번째 정수를 입력하세요.");

            int snum = GetNum();

 

            if (fnum > snum)//조건(fnum>snum) - (fnum snum을 바꿔야 함)

            {

                int temp = snum; //temp := snum

                snum = fnum;//snum := fnum

                fnum = temp;//fnum := temp

            }

 

            for(int n=1; n<=fnum;n++)//반복(n:= 1->fnum)

            {

                if(((fnum%n)==0)&& ((snum % n) == 0))//조건(n fnum snum의 약수이면)

                //*fnum n으로 나누어서 나머지가 0이면 약수임.

                {

                    Console.WriteLine(n);//n출력

                }

            }

        }

 

        //4. 두 개의 정수를 입력받아 두 수의 범위에 있는 정수의 합을 출력하시오.

        private static void ExD()

        {

            //fnum:= 정수 입력

            Console.WriteLine("첫 번째 정수를 입력하세요.");

            int fnum = GetNum();

            //snum:= 정수 입력

            Console.WriteLine("두 번째 정수를 입력하세요.");

            int snum = GetNum();

 

            if(fnum > snum)//조건(fnum>snum) - (fnum snum을 바꿔야 함)

            {

                int temp = snum; //temp := snum

                snum = fnum;//snum := fnum

                fnum = temp;//fnum := temp

            }

            int sum = 0;//sum:=0

            //반복(snum -> fnum)

            for(;snum<fnum;snum++)

            {

                sum += snum;//sum:= snum + snum

            }

            Console.WriteLine("{0}~{1} 구간의 정수 합계:{2}", fnum, snum, sum);//sum 출력

        }

 

        //3. 점수(0~100)를 입력받아 학점을 출력하시오.

        private static void ExC()

        {

            //score:= 성적 입력

            Console.WriteLine("성적을 입력하세요.");

            int score = GetNum();

 

            int level = 0;

            if((score<0)||(score>100))//조건(score 0보다 작거나 100보다 크면)

            {

                level = -1;//level:=-1

            }

            else//아니라면

            {

                level = score / 10;//level:=score/10

                if(level<=5)//조건(level 5보다 작거나 같으면)

                {

                    level = 0;//level=0

                }

            }

           

            switch(level)//선택(level값에 따라)

            {

                case 10:

                case 9: Console.WriteLine("A"); break;//10혹은 9일 때: A출력

                case 8: Console.WriteLine("B"); break;//8일 때: B출력

                case 7: Console.WriteLine("C"); break;//7일 때: C출력

                case 6: Console.WriteLine("D"); break;//6일 때: D출력

                case 0: Console.WriteLine("F"); break;//0일 때: F출력

                default: Console.WriteLine("Not Support"); break;//기타: Not Support 출력

            }

        }

 

        //2. 한 개의 정수를 입력받아 짝수인지 홀수인지 출력하시오.

        private static void ExB()

        {

            //num := 정수를 입력

            Console.WriteLine("정수를 입력하세요.");

            int num = GetNum();

           

            if(num%2 == 0)//조건(num 2로 나누었을 때 나머지가 0이면)

            {

                Console.WriteLine("짝수입니다.");//"짝수" 출력

            }

            //아니면

            {

                Console.WriteLine("홀수입니다.");//"홀수" 출력

            }

        }

 

        //1. 두 개의 정수를 입력받아 큰 수를 출력하시오.

        private static void ExA()

        {

            //num1 := 첫 번째 정수를 입력

            Console.WriteLine("첫 번째 수를 입력하세요.");

            int num1 = GetNum();

            //num2 := 두 번째 정수를 입력

            Console.WriteLine("두 번째 수를 입력하세요.");

            int num2 = GetNum();

 

            int big = 0;

            if(num1<num2)//조건(num1<num2)

            {

                big = num2;//big := num2

            }

            else //아니면

            {

                big = num1;//big := num1

            }

            Console.WriteLine("{0} {1}중에 큰 수는 {2}", num1, num2, big);//big 출력

        }

 

        private static int GetNum()

        {

            int i = 0;

            string value = Console.ReadLine();

            i = int.Parse(value);

            return i;

        }

    }

}

 


0 Comments
댓글쓰기 폼