개발/C# .NET

C# 간단 트레이닝 1

xwing 2008. 10. 17. 14:06
주어진 수를 일의자리는 버리고, 10의 자리는 반올림 하는 프로그램을 작성하라
  (단, 내부함수 - Round -는 사용할 수 없슴).

using System;

 

namespace ConsoleClient

{

    class Program

    {

        static void Main(string[] args)

        {

            int a = 6510;

            //일자리수는 0으로 , 10자리는 반올림..

            int b = a / 10;

 

            int result = Int16.Parse(b.ToString() + "0");

 

            char[] ch = result.ToString().ToCharArray();

            char[] ch2 = new char[ch.Length + 1];

            int flag = 0;

 

            if (Int16.Parse(ch[ch.Length - 2].ToString()) > 4)

            {

                //Console.WriteLine("반올림:" + ch[ch.Length - 2].ToString());

                ch[ch.Length - 2] = '0';

                try

                {

                    ch[ch.Length - 3] = Char.Parse((Int16.Parse(ch[ch.Length - 3].ToString()) + 1).ToString());

                    flag = 0;

                }

                catch (IndexOutOfRangeException)

                {

                    ch2[0] = '1';

                    for (int i = 1; i <= ch.Length; i++)

                    {

                        ch2[i] = '0';

                    }

                    flag = 1;

                }

            }

            else

            {

                //Console.WriteLine("반내림:" + ch[ch.Length - 2].ToString());

                ch[ch.Length - 2] = '0';

                flag = 0;

            }

 

            if (flag == 0)

                Console.WriteLine(new String(ch));

            else

                Console.WriteLine(new String(ch2));

 

            Console.Read();

        }

    }

}

요거~ 간단하게 생각했는데.. 생각보다 기네^^
결과는 제대로 나오지만.. 제대로 한건지 원.. 짧은 시간에 생각해 낼려니.. 요렇게 길게 밖에 생각이 안나네..
근데.. 내가 이걸 왜 했지!

시원한 가을이네요^^ 좋은 하루 보내시길...


'개발 > C# .NET' 카테고리의 다른 글

Enum Type 데이터를 바인딩하기  (0) 2009.03.18
asp.net paging source  (0) 2008.10.15
ASP.NET 간단 팁들..  (0) 2008.10.09