简体   繁体   English

C#编程代码,用于数字和反向数字的总和

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

I wrote a code to find the sum of the digits and the reverse of a 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();



    }

but, the output for reversed number comes as 0. I checked my code, and I am not sure what is wrong with it. 但是,反转数字的输出为0。我检查了代码,但不确定是否出了问题。

You modify number as you sum the digits so when you try to go through the second loop, number is already at 0. Save off the input and reset number before the second loop: 您修改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

// ...

There's also a possible solution to the problem using LINQ: 使用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