轨道
/
C#
C#
/
练习
/
汽车,组装!
汽车,组装!

汽车,组装!

学习练习

简介

数字

C# 中有两种不同类型的数字:

  • 整数:小数点后没有数字的数字(也就是整数)。例如 -6、0、1、25、976 和 500000。
  • 浮点数:小数点后可以有零位或多位数字的数字。例如 -2.4、0.1、3.14、16.984025 和 1024.0。

C# 中最常见的两种数值类型是 int 和 double。int 是 32 位整数,double 是 64 位浮点数。

算术运算使用标准的算术运算符。数字可以使用标准的数值比较运算符,以及相等(==)和不等(!=)运算符来进行比较。

C# 有两种数值转换:

  1. 隐式转换:不会丢失任何数据,也不需要额外的语法。
  2. 显式转换:可能会丢失数据,并且需要额外的语法,也就是_强制转换_。

由于 int 的精度低于 double,从 int 转换到 double 是安全的,因此属于隐式转换。不过,从 double 转换到 int 可能会丢失数据,所以需要进行显式转换。

int softCool = 1358938113;
double notLost = 4.8151623;

// implicit cast: no loss of information
double macDebug = softCool;         // 1358938113.0

// explicit cast: possible loss of information 
int somethingLost = (int)notLost;   // 4

if 语句

在本练习中,你需要按条件执行逻辑。在 C# 中最常见的做法是使用 if/else 语句:

int x = 6;

if (x == 5)
{
    // Execute logic if x equals 5
}
else if (x > 7)
{
    // Execute logic if x greater than 7
}
else
{
    // Execute logic in all other cases
}

if 语句的条件必须是 bool 类型。C# 中没有_真值_的概念。

说明

在这个练习中,你将编写代码来分析汽车工厂装配线的生产情况。 装配线的速度范围可以从0(关闭)到10(最大)。

在最低速度(1)下,每小时生产 221 辆汽车。 产量会随速度线性增长。 所以当速度设为4时,每小时应生产4 * 221 = 884辆汽车。 不过,速度越高,生产出瑕疵车(随后只能报废)的可能性就越大。

你需要完成三个任务。

1. 计算成功率

实现(static)方法 AssemblyLine.SuccessRate(),计算在给定速度下生产出无瑕疵产品的比率。 下表展示了速度如何影响成功率:

  • 0:成功率为 0%。
  • 1到4:成功率为 100%。
  • 5到8:成功率为 90%。
  • 9:成功率为 80%。
  • 10:成功率为 77%。
AssemblyLine.SuccessRate(10)
// => 0.77

2. 计算每小时生产率

实现(static)方法 AssemblyLine.ProductionRatePerHour(),计算装配线每小时的产量,并考虑其成功率:

AssemblyLine.ProductionRatePerHour(6)
// => 1193.4

注意,返回的值是一个double。

3. 计算每分钟产出的可用车辆数

实现(static)方法 AssemblyLine.WorkingItemsPerMinute(),计算每分钟生产出多少辆可用汽车:

AssemblyLine.WorkingItemsPerMinute(6)
// => 19

注意,返回的值是一个int。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
C# Exercism

准备好开始 汽车,组装! 了吗?

注册 Exercism,借助 62 个概念178 个练习 和真人导师指导,学习并掌握 C#,全部免费。