如果將英語的26個字母由a到z分別編為1到26分的話,請撰寫程式,輸入任意的詞語,將各次于的字母分相加,看結果是否是100分,當結果為100分時結束。如ATTITIDE=100%
uj5u.com熱心網友回復:
求作業?字串轉成Char陣列,轉成ASCII,減一下a(97)+1就得到分數了。
還有一種方法用字典Dict存一下對照表,然后依次取值就行了
uj5u.com熱心網友回復:
首先構造一個 1a 2b的集合.
var ar = Enumerable.Range(65, 26).
Select(d => ASCIIEncoding.ASCII.GetString(new byte[] { (byte)d })).
Select((d, i) => new { i=i + 1, d }).ToList();
然后根據輸入的字串 進行拆解求和.
var str = "abc";
var strar= str.ToCharArray().Select(d=>d.ToString().ToUpper()).ToList();
var store = 0;
foreach (var item in strar)
{
store += ar.FirstOrDefault(d => d.d == item).i;
}
Console.WriteLine($"{store}");
至于累加 無非就是一個回圈接收的問題... 自己搞定一下吧
uj5u.com熱心網友回復:
列舉,然后分取各字符的列舉值累加即可.轉載請註明出處,本文鏈接:https://www.uj5u.com/net/86376.html
標籤:C#
