using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WholeNumbers1
{
class Program
{
static void Main(string[] args)
{
int sum = 0;
int Threedigitnumber;
Console.WriteLine("Enter in three whole numbers");
Threedigitnumber = int.Parse(Console.ReadLine());
sum = sum + (Threedigitnumber % 10); // Add third digit to sum
sum = sum + (Threedigitnumber / 10) % 10; // Add seconed digit to sum
sum = sum + (Threedigitnumber / 100); // Add first digit to sum
Console.WriteLine("{0} -> {1}", Threedigitnumber, sum);
Console.ReadKey();
}
}
}
有人可以向我解释这段代码如何以及为什么计算三个数字的总和?我很困惑%的工作原理以及为什么需要除法?这是如何工作的?
答案 0 :(得分:2)
您在这里要做的是计算数字之和。
当你输入时我们说是123
1)sum = sum +(Threedigitnumber%10);
(Threedigitnumber % 10);
返回余数,即当你除以123/10时余数为3。所以此时你的总和为3
2)sum = sum +(Threedigitnumber / 10)%10;
(Threedigitnumber / 10)
返回商,即除以123/10
商是12,当你再次调用mod(%)时,它将余数返回为2(12%10 = 2),然后将其加到现在变为3 + 2 = 5的总和中;
3)sum = sum +(Threedigitnumber / 100);
(Threedigitnumber / 100)
返回商,即当你将123除以100时,它输出1.在你的总和加1之后,你的总和现在变为3 + 2 + 1 = 6
这是一种计算数字总和的可怕方法。更有效的方法是
int num, sum = 0, r;
Console.WriteLine("Enter a Number : ");
num = int.Parse(Console.ReadLine());
while (num != 0)
{
r = num % 10;
num = num / 10;
sum = sum + r;
}
Console.WriteLine("Sum of Digits of the Number : "+sum);
Console.ReadLine();
答案 1 :(得分:1)
模数是指除法后的余数。在这种情况下,它用于隔离一个位置和十位的数字。任何mod 10
都会给你一个位置的数字。这是除以10之后的余数。所以175 / 10 = 17
,而175 % 10 = 5
。为了获得十位,它们首先除以10,这个除法完全放弃了一个位置(因为这是整数运算)。
答案 2 :(得分:1)
假设您介绍123.
Manifest file