任務描述
本關任務:編寫程序,從鍵盤輸入一個三位數整數,計算並輸出一個三位整數中各位上的數字之和。
如: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********/
}
}
}
