第3关:求三位数各位数字的和
任务描述
本关任务:编写程序,从键盘输入一个三位数整数,计算并输出一个三位整数中各位上的数字之和。
如:369
上各位数字之和为 3+6+9=18
任务分析
三位数求和需要先计算出三位数的百位、十位和个位,然后才能计算百位、十位和个位的和。可以利用两个整数相除得到的整数是不包含余数的商来求得数字的百位、十位和个位。
相关知识
为了完成本关任务,你需要掌握:1.算术运算符的熟练运用,2.C#
中/
和%
的熟练应用。
分析
方法一: 369/100
的商仍是一个整数,是舍去余数的商,通过这种特性求出百位的数字。如果想通过同样方式为了求十位的数字,需要先把百位去掉,代码通过369-百位的数字*100
,减去了百位,只保留了十位和个位。个位通过求余方法实现,当然也可以通过(369-b*100-c*10
)求得。
方法二:
先通过369%10
求出个位;然后求十位,求十位时通过除以10
的方式去掉个位,再对10
求余得到十位;再求百位,求百位时,再除以10
的基础上再除以10
,去掉十位,再对10
求余获得百位。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出三位数各个数位上数字之和。
测试说明
平台会对你编写的代码进行测试:
测试输入:369
预期输出:
369的各位数字之和为:18
测试输入:151
预期输出:
151的各位数字之和为:7
开始你的任务吧,祝你成功!
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ch203 { class Program { static void Main(string[] args) { /******begin*******/ int n, t = 0, sum = 0; n = Convert.ToInt32(Console.ReadLine()); t = n; while (n != 0) { sum += n % 10; n /= 10; } Console.WriteLine("{0}的各位数字之和为:{1}", t, sum); /*******end********/ } } }