switch语句中关于case的疑问

c#
运行下面代码后,输入95,返回“优秀”,但是case中没有没有提到9.5,这个如何解释?
谢谢
可以给我链接吗?编程新手,手头的教程太粗糙了。。。

using System;

namespace cases
{
    class cases
    {
        static void Main(string[] args)
        {
            int a = Convert.ToInt32(Console.ReadLine());
            switch(a/10)
            {
                case 10:
                case 9:
                    Console.WriteLine("优秀");
                    break;
            }
            Console.ReadKey(true);
        }
    }
}

aint10 也是 int。C# 中类型区分比较严格,纯 int 类型之间的运算结果一定是个 int,所以 95 / 10,从数学上可以得到 9.5,但是在这里,需要对它取整,而且是简单取整,就是直接取整数部分(而不是四舍五入),所以会得到9。

数据应该被强行转换了,9.5会转换成int,所以数据就变成了9,所以返回的就是优秀

  • C++ Template:error: ‘Node’ is not a template type
  • 初学 C++,遇到了 liner-gcc 的错误提示,求指点
  • c++什么时候支持int()/bool()这种写法?有具体的标准解释么?
  • 怎么让安装程序以管理员权限注册dll?
  • C# 频繁使用Dictionary 速度太慢,有没有更好方法
  • ASP.NET有没有可以在项目一启动就加载的类
  • 拼音搜索如何实现?
  • 关于c++的异常?
  • 毕设相关问题
  • 寻找数组中和为0的子数组
  • 二进制中1的个数