0

「22」などの 2 桁の数字を受け取り、「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));
    }
4

4 に答える 4

2

既存のプログラムについては知りませんが、関数を書くのは簡単でしょう。
int を文字列に変換してから、各文字に対して switch ステートメントを実行します。
最初のスイッチは「Twenty」、「Thirty」など
を処理します。2 番目のスイッチは、1、2、3などを処理
します。それぞれの単語を吐き出すだけの 10 代用の特別なケースが必要です。

于 2012-11-12T21:57:28.893 に答える
0

研究に時間をかけてください。その方法がわからない場合は、int 数値を 1 つの数値で解析してから、テキストを大文字と小文字でフォーマットすることをお勧めします。

switch (int)
case 1:
cout << "one";
switch (int)
case 2:
cout << "two";
于 2012-11-12T21:58:58.663 に答える
0

両方の数字を別々に評価し、2 つの配列に格納されている文字列値に一致させるのが最も簡単です。

たとえば、次の 2 つの配列があるとします...

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 の配列のインデックスとして使用し、2 番目の数字を 1 の配列のインデックスとして使用するだけです。数値が 10 ~ 19 の場合は、それを処理するための特別なロジックが必要になります。

于 2012-11-12T21:59:09.627 に答える
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 未満の場合は、次の番号を呼び出しますOnes_string()

数値>= 11の場合、以下のロジックを実行します

  1. 最初 : 秒の桁の値を取得して呼び出すTens_String();

  2. Second : 最初の桁の値を取得して呼び出すOnes_string();

そして、このアルゴリズムは 99 年まで適用されます..最後に 2006 年に College on C++ で使用されました..

私が言及したものはすべて、検出するアルゴリズム/ロジックです..完璧なコードではありません

于 2012-11-12T22:43:16.270 に答える