C#解决挖隧道获得美金的问题

原题目:

假设有个隧道,隧道以字符 ‘#’ 结束,挖矿的过程中,会遇到钻⽯ ‘*’ 和美⾦ ‘1’ ~ ‘9’ ,让矿⼯⼩六挖到隧道的尽头,假设每个钻⽯价值500美⾦,统计⼩六挖到了价值多少美⾦的收获?

一.题目可以解析为:用户输入字符串,并且以“#”符号结尾,数字和“*”穿插其中

二.对字符串进行逐个字符判断,我的理解是,先将字符串转换为char数组,再对char数组逐个遍历,其中可以用到ascii表进行判断,因为数字再ascii中对应的序号是连续的,且数字也是连续的,因此可以用遍历单个字符进行减去48,既可以得到数字本身的大小。

namespace 隧道美金问题
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入任意数字以及*组成的字符串并以#结尾");
            string str = Console.ReadLine();
            char[] arry = str.ToCharArray();
            int num = 0;
            for (int i = 0; i < arry.Length; i++)
            { 
                if (arry[i]== 35)
                {
                    break;//判断以#为结尾的ascii值结束循环
                }
                else if (arry[i]>=49&& arry[i]<=57)
                {
                    num += arry[i] - 48;//对每个数减去48可以得到数字本身得大小
                    continue;
                }
                else
                {
                    num +=500;//“*”为其它出现得情况
                    continue;
                }
            }
          Console.WriteLine(num);//输出结果
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值