C#练习题答案: 简单的等式2【难度:1级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战

简单的等式2【难度:1级】:

答案1:

namespace SolveIt {
using System;
using System.Linq;
using System.Text.RegularExpressions;
  public class Kata
    {
        public static int result(string s)
        {
          return Regex.Matches(s.Replace(" ",""),"[-]?[0-9]+").OfType<Match>().Select(x=>int.Parse(x.Value)).Sum();
        }
    }
}

答案2:

namespace SolveIt {
  public class Kata
    {
        public static int result(string sI)
        {
            string [] sS=sI.Replace(" ","").Replace("-"," -").Replace("+"," ").Split(new[]{" "},System.StringSplitOptions.RemoveEmptyEntries);
            int calc=0; foreach (string s in sS) calc+=System.Int32.Parse(s);
            return calc;
        }
    }
}

答案3:

namespace SolveIt {
using System;
using System.Data;

  public class Kata
    {
        public static int result(string stringInput) => (int)(new DataTable().Compute(stringInput, null));
    }
}

答案4:

namespace SolveIt 
{
    using System;
    using System.Linq;
    using System.Text.RegularExpressions;

    public class Kata
    {
        public static int result(string stringInput)
        {
            return new Regex(@"([\+\-]? *\d+)")
                .Matches(stringInput)
                .OfType<Match>()
                .Sum(e => Convert.ToInt32(e.Groups[0].Value.Replace(" ", "")));
        }
    }
}

答案5:

namespace SolveIt {

using System;
using System.Linq;
using System.Text.RegularExpressions;

public class Kata
{
    public static int result(string s)
    {
        return Regex.Split(s.Replace(" ", ""), "(?=[+-])").Sum(Int32.Parse);
    }
}

}

答案6:

namespace SolveIt {
using System;
using System.Data;

  public class Kata
    {
        public static int result(string stringInput)
        {
          var table = new DataTable();
          var col = new DataColumn("Calc", typeof (int), stringInput);
          table.Columns.Add(col);
          table.Rows.Add(0);
          return (int) (table.Rows[0]["Calc"]);
        }
    }
}

答案7:

namespace SolveIt {
using System.Data;

  public class Kata
    {
        private static DataTable dt = new DataTable();
        
        public static int result(string stringInput)
        {
          return (int)dt.Compute(stringInput, "");
        }
    }
}

答案8:

using System.Text.RegularExpressions;
using System.Data;

namespace SolveIt {
using System;

  public class Kata
    {
        public static int result(string stringInput)
        {
          string pattern = " ";
          Regex rgx = new Regex(pattern);        
          return (int) new DataTable().Compute(rgx.Replace(stringInput, ""), null);
        }
    }
}

答案9:

namespace SolveIt {
using System;
using System.Data;

  public class Kata
    {
        public static int result(string stringInput)
        {
            // retun the result as an integer
            var loDataTable = new DataTable();
            stringInput = stringInput.Replace(" ", string.Empty);
            var loDataColumn = new DataColumn("Eval", typeof(int), stringInput);
            loDataTable.Columns.Add(loDataColumn);
            loDataTable.Rows.Add(0);
            return (int)(loDataTable.Rows[0]["Eval"]);
        }
    }
}

答案10:

namespace SolveIt
{
    public class Kata
    {
        public static int result(string stringInput)
        {
            var str = stringInput.Replace(" ", "");
            str = str.Replace("+", " + ");
            str = str.Replace("-", " - ");
            var sum = 0;
            var op = "+";
            var data = str.Split(" ");
            foreach (var v in data)
                if (int.TryParse(v, out var num))
                {
                    switch (op)
                    {
                        case "+":
                            sum += num;
                            break;
                        case "-":
                            sum -= num;
                            break;
                    }
                }
                else
                    op = v;

            return sum;
        }
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值