繁体   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