2012-11-12 7 views
0

"22"와 같이 두 자리 숫자를 사용하고 "Twenty Two"를 반환하는 프로그램이 필요합니다. 나는 주요 방법에 대해 시작하지만 기존의 프로그램의 모르는 문자열 방법두 자리 숫자

 static string TwoDigit(int n) 
    { 

    } 
    static void Main(string[] args) 
    { 
     for (int i = 0; i <= 19; i++) 
      Console.WriteLine("{0}: {1}", i, TwoDigit(i)); 
     for (int i = 20; i <= 110; i += 7) 
      Console.WriteLine("{0}: {1}", i, TwoDigit(i)); 
    } 
+0

와우, 내가 대학 하루에이 알고리즘을 기억 완벽한 코드입니다 .. 나는 그것을 위해 긴 코드를 생성 .. 그런 atlast .. 나는 해결책을 가지고 다음날 ... – Rafee

답변

2

에 대한 아무것도하지만 함수를 작성하기 쉬울 것이다 다음있다.
int를 문자열로 변환 한 다음 각 문자에 대해 switch 문을 수행합니다.
첫 번째 스위치는 "Twenty", "Thirty"등을 처리합니다.
두 번째 스위치는 1,2,3 등을 처리합니다.
방금 ​​튀어 나오는 십대를 위해 특별한 케이스가 필요할 것입니다 각 단어.

0

검색에 시간을들입니다. 어떻게해야할지 모르시는 경우 int 번호를 하나의 숫자로 파싱 한 다음 대소 문자를 통해 텍스트 서식을 지정하는 것이 좋습니다.

switch (int) 
case 1: 
cout << "one"; 
switch (int) 
case 2: 
cout << "two"; 
0

그냥 별도로 두 자리 숫자를 평가하고 두 배열에 저장된 문자열 값으로 일치하는 것이 가장 쉬운 방법 일 것이다.

그래서 예를 들어,이 두 배열이있을 수 있습니다 ...

tens[0] = "" 
tens[1] = "" 
tens[2] = "Twenty" 
tens[3] = "Thirty" 
tens[4] = "Forty" 
tens[5] = "Fifty" 
tens[6] = "Sixty" 

등 ...

ones[0] = "" 
ones[1] = "One" 
ones[2] = "Two" 
ones[3] = "Three" 

등 ...

을 그리고 숫자 인 경우> = 20이면, 첫 번째 자릿수를 가져 와서 십진열 배열과 두 번째 자릿수의 색인으로 사용하고 자릿수 배열의 색인으로 사용할 수 있습니다. 숫자가 10에서 19 사이라면,이를 처리하기 위해 특별한 논리가 필요합니다. 주어진 수 < 11 다음 Ones_string()

를 호출하면 그 숫자이면

+0

'teens'에 대한 배열리스트를 만들 필요가 있습니다. – Rafee

+0

그래, 내가 말했듯이, 10과 19 사이의 것은 별도의 논리가 필요합니다. 별도의 배열에 저장하거나 원하는 switch 문을 사용하십시오. – Jim

0
  1. 이 함수

    function Ones_String(number1) { 
    
        if (number1 == 1) { 
         string1 = "One"; 
        } elseif (number2 == 9) { 
         string1 = "Nine"; 
        } elseif (number2 == 10) { 
         string1 = "Ten"; 
        } elseif (number2 == 0) { 
         string1 = "Zero"; 
        } else { 
         string1 = ""; // empty value 
        } 
    
        return string1; 
    } 
    
    
    function Tens_String(number2) { 
    
        if (number2 == 2) { 
         string2 = "Twenty"; 
        } elseif (number2 == 3) { 
         string2 = "Thirty"; 
        } elseif (number2 == 9) { 
         string2 = "Ninety"; 
        } else { 
         string2 = ""; // emtpy value 
    
        } 
        return string2; 
    } 
    
    
    
    function teens_string(number3) { 
    
        if (number3 == 11) { 
         string3 = "Eleven"; 
        } elseif (number3 == 12) { 
         string3 = "Tweleve"; 
        } else { 
         string3 = "Nineteen"; 
        } 
    
        return string3; 
    } 
    

초기화> = 11은 논리

  1. 이하 수행 처음 ..

    ++ 첫 번째 자리의 vallue을 얻을 Ones_string();

를 호출하고이 알고리즘은 마지막으로 C에 대학에서 2006 년에 사용 ... 99까지 적용 : 초 숫자 값을 얻을 Tens_String();

  • 가 두 번째 호출 내가 언급 한 무엇이든

    검출하는 알고리즘/로직 ..하지

  • 관련 문제