簡體   English   中英

C#編程代碼,用於數字和反向數字的總和

[英]C# programming-code for sum of digits and reverse number

我寫了一段代碼來查找數字的和與數字的倒數-

static void Main(string[] args)
    {
        int number, sum = 0;
        Console.WriteLine("Enter a number:");
        number = int.Parse(Console.ReadLine());
        while (number!= 0)
        {
            int m = number % 10;
            number = number / 10;
            sum = sum + m;
        }
        Console.WriteLine("Sum of digits of the number:" + sum);
        Console.ReadLine();

        int reverse = 0;

        while (number!= 0)
        {
            reverse = reverse * 10;
            reverse = reverse + number % 10;
            number = number / 10;
        }
        Console.WriteLine("Reversed Number is:" + reverse);
        Console.ReadLine();



    }

但是,反轉數字的輸出為0。我檢查了代碼,但不確定是否出了問題。

您修改number為你總結的數字,所以當你試圖去通過第二回路, number已經為0保存關閉輸入和復位number第二循環之前:

Console.WriteLine("Enter a number:");
int input = int.Parse(Console.ReadLine());
number = input;

while (number!= 0)
{
    // ...
}
Console.WriteLine("Sum of digits of the number:" + sum);

number = input; // reset number back to original input

// ...

使用LINQ也可以解決此問題:

        int number = 1234567890;

        int sumOfDigits = number.ToString().Select(c => int.Parse(c.ToString())).Sum();
        int reversedNumber = int.Parse(new string(number.ToString().Reverse().ToArray()));

        Console.WriteLine($"sum of digits: {sumOfDigits}");
        Console.WriteLine($"reversed number: {reversedNumber}");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM