作为C#初学者,掌握常用的数学函数非常重要。下面详细解释Abs、Pow、Sqrt、Round、Ceiling、Floor这六个核心数学函数的用法。
公共属性(Public Fields)
E(自然对数的底,即数学常数 e)
PI(圆周率,即圆的周长与其直径的比值)
数学函数名字(Method Names)
Abs
Pow
Sqrt
Round(有两个重载形式)
Ceiling
Floor
Exp
Log(有两个重载形式)
Log10
Max
Min
Sign
Sin
Cos
Tan
一、Math类是什么
定义:Math类是解决C#编程中的数学问题的一个密封类。Math类提供了以下函数:
三角函数方法
对数函数方法
数学函数方法
常数
注意:在使用这些函数前,需要引用System命名空间。
Math.E
用途:表示数学常数e。即自然对数的底。
Console.WriteLine(Math.E); //2.718281828459045Math.PI
用途:表示圆周率。即圆的周长与直径的比值。
Console.WriteLine(Math.PI); //3.1415926535897931. Math.Abs() - 绝对值
作用:返回指定数字的绝对值(正数)
// 基本用法
int 正数 = Math.Abs(10);      // 结果:10
int 负数 = Math.Abs(-10);     // 结果:10
double 小数 = Math.Abs(-3.14); // 结果:3.14
// 实际应用:计算距离(距离不能为负)
int 当前位置 = 5;
int 目标位置 = 8;
int 距离 = Math.Abs(目标位置 - 当前位置); // 结果:32. Math.Pow() - 幂运算
作用:计算指定数字的指定次幂
// 语法:Math.Pow(底数, 指数)
double 平方 = Math.Pow(5, 2);    // 5的2次方 = 25
double 立方 = Math.Pow(3, 3);    // 3的3次方 = 27
double 平方根 = Math.Pow(16, 0.5); // 16的0.5次方 = 4
// 实际应用:计算圆的面积(面积 = π × r²)
double 半径 = 5;
double 面积 = Math.PI * Math.Pow(半径, 2);
Console.WriteLine($"半径为{半径}的圆面积是:{面积:F2}");3. Math.Sqrt() - 平方根
作用:计算指定数字的平方根
注意:不能对负数开平方根!NAN
// 基本用法
double 根号16 = Math.Sqrt(16);    // 结果:4
double 根号2 = Math.Sqrt(2);      // 结果:1.4142135623730951
// 实际应用:勾股定理计算斜边
double 直角边1 = 3;
double 直角边2 = 4;
double 斜边 = Math.Sqrt(Math.Pow(直角边1, 2) + Math.Pow(直角边2, 2));
Console.WriteLine($"直角边为{直角边1}和{直角边2}的三角形斜边是:{斜边}");4. Math.Round() - 四舍五入
作用:将值四舍五入到最接近的整数或指定的小数位数
// 基本用法
double 四舍五入1 = Math.Round(3.4);   // 结果:3
double 四舍五入2 = Math.Round(3.6);   // 结果:4
double 四舍五入3 = Math.Round(3.5);   // 结果:4(银行家舍入)
// 指定小数位数
double 保留两位1 = Math.Round(3.14159, 2); // 结果:3.14
double 保留两位2 = Math.Round(3.145, 2);   // 结果:3.14
// 实际应用:金额计算
double 商品价格 = 19.9876;
double 含税价格 = 商品价格 * 1.13;
double 最终价格 = Math.Round(含税价格, 2); // 保留两位小数
Console.WriteLine($"最终价格:{最终价格}元");5. Math.Ceiling() - 向上取整
作用:返回大于或等于指定数字的最小整数
// 基本用法
double 向上1 = Math.Ceiling(3.1);   // 结果:4
double 向上2 = Math.Ceiling(3.9);   // 结果:4
double 向上3 = Math.Ceiling(-3.1);  // 结果:-3(注意负数的情况)
// 实际应用:计算需要的包装箱数量
double 产品数量 = 47;
double 每箱容量 = 10;
double 需要箱数 = Math.Ceiling(产品数量 / 每箱容量);
Console.WriteLine($"{产品数量}个产品,每箱装{每箱容量}个,需要{需要箱数}个箱子");6. Math.Floor() - 向下取整
作用:返回小于或等于指定数字的最大整数
// 基本用法
double 向下1 = Math.Floor(3.1);    // 结果:3
double 向下2 = Math.Floor(3.9);    // 结果:3
double 向下3 = Math.Floor(-3.1);   // 结果:-4(注意负数的情况)
// 实际应用:计算完整的天数
double 总小时数 = 57.5;
double 整天数 = Math.Floor(总小时数 / 24);
Console.WriteLine($"{总小时数}小时等于{整天数}整天");示例:时间转换器
static void Main()
{
    Console.WriteLine("=== 时间转换计算器 ===");
    Console.WriteLine("使用 Math.Floor() 进行时间单位转换\n");
    bool beContinue = true;
    while (beContinue)
    {
        Console.Write("请输入总秒数:");
        double totalSeconds = Convert.ToInt64(Console.ReadLine());
        // 使用 Math.Floor 进行时间转换计算
        int hours = (int)Math.Floor(totalSeconds / 3600);
        int remainingSecondsAfterHours = (int)totalSeconds % 3600;
        int minutes = (int)Math.Floor(remainingSecondsAfterHours / 60.0);
        int seconds = remainingSecondsAfterHours % 60;
        // 显示转换结果
        Console.WriteLine($"\n转换结果:");
        Console.WriteLine($"{totalSeconds} 秒 = {hours} 小时 {minutes} 分钟 {seconds} 秒");
        // 询问是否继续
        Console.Write("\n是否继续转换?(y/n):");
        string response = Console.ReadLine().ToLower();
        beContinue = (response == "y" || response == "yes");
    }
    Console.WriteLine("\n感谢使用时间转换计算器!");
}7. Math.Exp() - 指数函数
作用:返回 e 的指定次幂(e ≈ 2.71828,自然对数的底)
对于一个基本的指数等式: bᶜ = a
它的对数形式是: logᵦ(a) = c
b 是 底数,要求 b > 0 且 b ≠ 1。
a 是 真数,是幂运算的结果,要求 a > 0。
c 是 以 b 为底 a 的对数,也就是我们要求的值。
常用对数**底数为 10。写作 log(a)**,省略底数 10。例如,log(1000) = 3,因为 10³ = 1000。在科学计算和工程领域非常常见。
自然对数**底数为一个无理数 e(e ≈ 2.71828,一个非常重要的数学常数)。写作 ln(a)**。例如,ln(e²) = 2。在数学分析、物理、经济学等高等领域中无处不在,因为它有非常优美的数学性质。
// 基本用法
double 结果1 = Math.Exp(1);   // e的1次方 ≈ 2.71828
double 结果2 = Math.Exp(2);   // e的2次方 ≈ 7.38906
double 结果3 = Math.Exp(0);   // e的0次方 = 1
// 实际应用:复利计算
double 本金 = 1000;
double 年利率 = 0.05;
int 时间 = 3;
double 复利结果 = 本金 * Math.Exp(年利率 * 时间);
Console.WriteLine($"连续复利计算结果:{复利结果:F2}");
//为什么用 e:因为它是连续复利的数学极限结果,也是描述自然连续增长的最优底数。8. Math.Log() - 对数函数
作用:计算指定数字的对数,有多个重载版本
对数是指数的逆运算。
如果你理解了指数,那么理解对数就成功了一大半。它回答的问题是:“为了得到一个特定的数,我们需要把底数乘以多少次方?”
我们来看这个指数运算: 2³ = 8
这里:
2 是 底数
3 是 指数
8 是 结果
现在,我们把问题反过来问:“2 的多少次方等于 8?”
这个问题的答案(3)就是 对数。
我们用对数的符号来表达这个问题:
log₂(8) = 3
这句话读作:“以 2 为底 8 的对数等于 3。”
它的意思就是:2 的 3 次方等于 8。
// 1. 自然对数(以e为底)
double 自然对数 = Math.Log(10);  // ln(10) ≈ 2.302585
// 2. 指定底数的对数
double 以10为底 = Math.Log(100, 10);  // log₁₀(100) = 2
double 以2为底 = Math.Log(8, 2);      // log₂(8) = 3
// 3. 另一个重载:Math.Log(double, double) 同上
// 实际应用:计算数据规模(在算法分析中常用)
int 数据量 = 1000;
double 对数规模 = Math.Log(数据量, 2);
Console.WriteLine($"数据量{数据量}的对数规模:{对数规模:F2}");8. Math.Max() - 最大值
作用:返回两个数字中较大的一个
// 基本用法
int 最大值1 = Math.Max(10, 20);        // 结果:20
double 最大值2 = Math.Max(3.14, 2.71); // 结果:3.14
// 实际应用:确保数值不低于最小值
int 用户输入 = -5;
int 最小值 = 0;
int 安全值 = Math.Max(用户输入, 最小值); // 结果:0
Console.WriteLine($"安全值:{安全值}");
// 比较多个值(嵌套使用)
int a = 10, b = 20, c = 15;
int 最大值 = Math.Max(a, Math.Max(b, c)); // 结果:209. Math.Min() - 最小值
作用:返回两个数字中较小的一个
// 基本用法
int 最小值1 = Math.Min(10, 20);        // 结果:10
double 最小值2 = Math.Min(3.14, 2.71); // 结果:2.71
// 实际应用:限制数值不超过最大值
int 用户输入 = 150;
int 最大值 = 100;
int 安全值 = Math.Min(用户输入, 最大值); // 结果:100
Console.WriteLine($"安全值:{安全值}");
// 在游戏中的应用:角色移动边界限制
int 当前位置 = 110;
int 地图边界 = 100;
int 新位置 = Math.Min(当前位置, 地图边界);10. Math.Sign() - 符号函数
作用:返回表示数字符号的整数
// 返回值规则:
// -1 → 负数
//  0 → 零
//  1 → 正数
int 符号1 = Math.Sign(-10);   // 结果:-1
int 符号2 = Math.Sign(0);     // 结果:0
int 符号3 = Math.Sign(5.5);   // 结果:1
// 实际应用:判断趋势方向
double 昨天价格 = 100;
double 今天价格 = 105;
int 趋势 = Math.Sign(今天价格 - 昨天价格); // 结果:1(上涨)
string 趋势描述 = 趋势 switch
{
    1 => "上涨",
    -1 => "下跌",
    0 => "持平",
    _ => "未知"
};
Console.WriteLine($"市场趋势:{趋势描述}");11. Math.Sin() - 正弦函数
作用:返回指定角度的正弦值(参数为弧度)
正弦:定义为 对边 / 斜边。记作 sin(A)。
它描述的是,当角度 A 大小固定时,无论直角三角形放大缩小多少倍,对边与斜边的比值总是一个固定的数。
余弦:定义为 邻边 / 斜边。记作 cos(A)。
同样,它描述的是邻边与斜边的固定比值。
简单比喻:想象一个梯子斜靠在墙上。
梯子的长度就是 斜边。
sin(角度) 越大,表示梯子越“陡”,梯子顶端的高度(对边)与梯子长度的比值越大。
cos(角度) 越大,表示梯子越“平”,梯子底端离墙的距离(邻边)与梯子长度的比值越大。
// 重要:C#中的三角函数使用弧度,不是角度!
// 弧度 = 角度 × π / 180
// 计算30度的正弦值
double 角度 = 30;
double 弧度 = 角度 * Math.PI / 180;
double 正弦值 = Math.Sin(弧度);  // sin(30°) = 0.5
Console.WriteLine($"sin({角度}°) = {正弦值}");
// 实际应用:计算直角三角形的高
double 斜边c = 10;
double 角度B = 30; // 度
double 高h = 斜边 * Math.Sin(角度B * Math.PI / 180);
Console.WriteLine($"直角三角形的高:{高:F2}");12. Math.Cos() - 余弦函数
作用:返回指定角度的余弦值(参数为弧度)
// 计算60度的余弦值
double 角度 = 60;
double 弧度 = 角度 * Math.PI / 180;
double 余弦值 = Math.Cos(弧度);  // cos(60°) = 0.5
Console.WriteLine($"cos({角度}°) = {余弦值}");
// 实际应用:计算直角三角形的底边
double 斜边 = 10;
double 角度A = 60; // 度
double 底边 = 斜边 * Math.Cos(角度A * Math.PI / 180);
Console.WriteLine($"直角三角形的底边:{底边:F2}");五、实用工具类
public static class 数学工具
{
    // 角度转弧度
    public static double 转弧度(double 角度)
    {
        return 角度 * Math.PI / 180.0;
    }
    
    // 弧度转角度
    public static double 转角度(double 弧度)
    {
        return 弧度 * 180.0 / Math.PI;
    }
    
    // 安全对数计算(避免负数或零)
    public static double 安全对数(double 值)
    {
        return 值 > 0 ? Math.Log(值) : 0;
    }
    
    // 限制值在指定范围内
    public static double 限制范围(double 值, double 最小值, double 最大值)
    {
        return Math.Max(最小值, Math.Min(值, 最大值));
    }
    
    // 判断两个浮点数是否近似相等(解决浮点数精度问题)
    public static bool 近似相等(double a, double b, double 容差 = 0.0001)
    {
        return Math.Abs(a - b) < 容差;
    }
}六、注意事项
1. 数据类型
// 大部分Math函数返回double类型
double 结果 = Math.Sqrt(16); // 4.0,不是4
// 如果需要整数,需要强制转换
int 整数结果 = (int)Math.Sqrt(16); // 42. 异常处理
// 处理负数平方根
try
{
    double 结果 = Math.Sqrt(-1); // 会返回NaN(Not a Number)
    if (double.IsNaN(结果))
    {
        Console.WriteLine("不能对负数开平方根!");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"发生错误:{ex.Message}");
}3. 精度问题
// 浮点数精度问题
double 结果1 = 0.1 + 0.2; // 可能不是精确的0.3
bool 相等 = (结果1 == 0.3); // 可能是false
// 解决方法:使用容差比较
bool 近似相等 = Math.Abs(结果1 - 0.3) < 0.0001; // true七、记忆技巧和总结
Absolute → 绝对值(永远正数)
Power → 幂运算(多少次方)
Square root → 平方根
Round → 四舍五入(像圆圈一样圆整)
Ceiling → 天花板(向上取整)
Floor → 地板(向下取整)
Exponential → 指数函数(e的x次方)
Logarithm → 对数函数(指数的逆运算)
Maximum → 最大值(取大的)
Minimum → 最小值(取小的)
Sign → 符号(正负号判断)
Sine → 正弦(对边/斜边)
Cosine → 余弦(邻边/斜边)
C# 数学函数控制台应用练习题
以下是8道基础难度的控制台应用练习题,全面覆盖13个数学函数的用法:
练习题
1. 数字分析器
// 要求:用户输入一个数字,程序输出该数字的:
// - 绝对值
// - 平方
// - 平方根(保留2位小数)
// - 向上取整和向下取整
// - 符号2. 数值比较工具
// 要求:用户输入两个数字,程序输出:
// - 较大的数字
// - 较小的数字
// - 第一个数字的第二个数字次幂
// - 两个数字的平均值(四舍五入到整数)3. 几何计算器
// 要求:用户输入圆的半径,程序计算并输出:
// - 圆的面积(πr²,保留2位小数)
// - 圆的周长(2πr,保留2位小数)
// - 半径的立方(使用Pow函数)4. 指数与对数计算器
// 要求:用户输入一个正数,程序计算并输出:
// - 该数字的自然对数
// - 该数字的以10为底的对数
// - e的该数字次方
// - 10的该数字次方5. 三角函数计算器
// 要求:用户输入一个角度(度数),程序计算并输出:
// - 该角度的正弦值
// - 该角度的余弦值
// - 该角度的正切值(使用Sin和Cos计算)
// 注意:需要将角度转换为弧度6. 成绩分析系统
// 要求:用户输入5个成绩(0-100),程序输出:
// - 最高分和最低分
// - 平均分(四舍五入到1位小数)
// - 每个成绩与平均分的差值(绝对值)7. 财务计算器
// 要求:用户输入本金和年数,按5%年利率计算:
// - 复利终值(使用Pow函数)
// - 单利终值
// - 两种方式的差值
// 所有结果都向上取整到整数8. 综合数学工具箱
// 要求:用户从菜单中选择功能:
// 1. 计算绝对值
// 2. 计算幂运算
// 3. 计算平方根
// 4. 四舍五入
// 5. 向上/向下取整
// 根据选择执行相应的数学运算参考答案
1. 数字分析器
using System;
class NumberAnalyzer
{
    static void Main()
    {
        Console.Write("请输入一个数字: ");
        double number = Convert.ToDouble(Console.ReadLine());
        
        double absValue = Math.Abs(number);
        double square = Math.Pow(number, 2);
        double sqrtValue = Math.Round(Math.Sqrt(Math.Abs(number)), 2);
        double ceilValue = Math.Ceiling(number);
        double floorValue = Math.Floor(number);
        int sign = Math.Sign(number);
        
        Console.WriteLine($"\n数字分析结果:");
        Console.WriteLine($"绝对值: {absValue}");
        Console.WriteLine($"平方: {square}");
        Console.WriteLine($"平方根: {sqrtValue}");
        Console.WriteLine($"向上取整: {ceilValue}");
        Console.WriteLine($"向下取整: {floorValue}");
        Console.WriteLine($"符号: {(sign == 1 ? "正数" : sign == -1 ? "负数" : "零")}");
    }
}2. 数值比较工具
using System;
class NumberComparator
{
    static void Main()
    {
        Console.Write("请输入第一个数字: ");
        double num1 = Convert.ToDouble(Console.ReadLine());
        Console.Write("请输入第二个数字: ");
        double num2 = Convert.ToDouble(Console.ReadLine());
        
        double max = Math.Max(num1, num2);
        double min = Math.Min(num1, num2);
        double power = Math.Pow(num1, num2);
        double average = Math.Round((num1 + num2) / 2);
        
        Console.WriteLine($"\n比较结果:");
        Console.WriteLine($"较大的数字: {max}");
        Console.WriteLine($"较小的数字: {min}");
        Console.WriteLine($"{num1} 的 {num2} 次幂: {power}");
        Console.WriteLine($"平均值(四舍五入): {average}");
    }
}3. 几何计算器
using System;
class GeometryCalculator
{
    static void Main()
    {
        Console.Write("请输入圆的半径: ");
        double radius = Convert.ToDouble(Console.ReadLine());
        
        double area = Math.Round(Math.PI * Math.Pow(radius, 2), 2);
        double circumference = Math.Round(2 * Math.PI * radius, 2);
        double cube = Math.Pow(radius, 3);
        
        Console.WriteLine($"\n半径为 {radius} 的圆:");
        Console.WriteLine($"面积: {area}");
        Console.WriteLine($"周长: {circumference}");
        Console.WriteLine($"半径的立方: {cube}");
    }
}4. 指数与对数计算器
using System;
class ExpLogCalculator
{
    static void Main()
    {
        Console.Write("请输入一个正数: ");
        double number = Convert.ToDouble(Console.ReadLine());
        
        if (number <= 0)
        {
            Console.WriteLine("请输入正数!");
            return;
        }
        
        double naturalLog = Math.Log(number);
        double logBase10 = Math.Log10(number);
        double expValue = Math.Exp(number);
        double powerOf10 = Math.Pow(10, number);
        
        Console.WriteLine($"\n计算结果:");
        Console.WriteLine($"自然对数: {naturalLog:F4}");
        Console.WriteLine($"以10为底的对数: {logBase10:F4}");
        Console.WriteLine($"e 的 {number} 次方: {expValue:F4}");
        Console.WriteLine($"10 的 {number} 次方: {powerOf10:F4}");
    }
}5. 三角函数计算器
using System;
class TrigonometryCalculator
{
    static void Main()
    {
        Console.Write("请输入角度(度数): ");
        double degrees = Convert.ToDouble(Console.ReadLine());
        
        double radians = degrees * Math.PI / 180;
        double sinValue = Math.Sin(radians);
        double cosValue = Math.Cos(radians);
        double tanValue = sinValue / cosValue; // 使用Sin和Cos计算Tan
        
        Console.WriteLine($"\n{degrees}° 的三角函数值:");
        Console.WriteLine($"正弦值: {sinValue:F4}");
        Console.WriteLine($"余弦值: {cosValue:F4}");
        Console.WriteLine($"正切值: {tanValue:F4}");
    }
}6. 成绩分析系统
using System;
class GradeAnalyzer
{
    static void Main()
    {
        double[] grades = new double[5];
        
        Console.WriteLine("请输入5个成绩(0-100):");
        for (int i = 0; i < 5; i++)
        {
            Console.Write($"成绩 {i + 1}: ");
            grades[i] = Convert.ToDouble(Console.ReadLine());
        }
        
        double maxGrade = grades[0];
        double minGrade = grades[0];
        double sum = 0;
        
        foreach (double grade in grades)
        {
            maxGrade = Math.Max(maxGrade, grade);
            minGrade = Math.Min(minGrade, grade);
            sum += grade;
        }
        
        double average = Math.Round(sum / grades.Length, 1);
        
        Console.WriteLine($"\n成绩分析结果:");
        Console.WriteLine($"最高分: {maxGrade}");
        Console.WriteLine($"最低分: {minGrade}");
        Console.WriteLine($"平均分: {average}");
        
        Console.WriteLine("\n各成绩与平均分的差值:");
        for (int i = 0; i < grades.Length; i++)
        {
            double difference = Math.Abs(grades[i] - average);
            Console.WriteLine($"成绩 {i + 1}: {difference:F1}");
        }
    }
}7. 财务计算器
using System;
class FinanceCalculator
{
    static void Main()
    {
        Console.Write("请输入本金: ");
        double principal = Convert.ToDouble(Console.ReadLine());
        Console.Write("请输入年数: ");
        int years = Convert.ToInt32(Console.ReadLine());
        
        double rate = 0.05; // 5% 年利率
        
        // 复利计算: A = P(1 + r)^n
        double compoundInterest = principal * Math.Pow(1 + rate, years);
        
        // 单利计算: A = P(1 + r*n)
        double simpleInterest = principal * (1 + rate * years);
        
        double compoundCeiling = Math.Ceiling(compoundInterest);
        double simpleCeiling = Math.Ceiling(simpleInterest);
        double difference = Math.Abs(compoundCeiling - simpleCeiling);
        
        Console.WriteLine($"\n计算结果(向上取整到整数):");
        Console.WriteLine($"复利终值: {compoundCeiling}");
        Console.WriteLine($"单利终值: {simpleCeiling}");
        Console.WriteLine($"差值: {difference}");
    }
}8. 综合数学工具箱
using System;
class MathToolbox
{
    static void Main()
    {
        while (true)
        {
            Console.WriteLine("\n=== 数学工具箱 ===");
            Console.WriteLine("1. 计算绝对值");
            Console.WriteLine("2. 计算幂运算");
            Console.WriteLine("3. 计算平方根");
            Console.WriteLine("4. 四舍五入");
            Console.WriteLine("5. 向上/向下取整");
            Console.WriteLine("0. 退出");
            Console.Write("请选择功能: ");
            
            string choice = Console.ReadLine();
            
            if (choice == "0") break;
            
            switch (choice)
            {
                case "1":
                    Console.Write("请输入数字: ");
                    double num1 = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine($"绝对值: {Math.Abs(num1)}");
                    break;
                    
                case "2":
                    Console.Write("请输入底数: ");
                    double baseNum = Convert.ToDouble(Console.ReadLine());
                    Console.Write("请输入指数: ");
                    double exponent = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine($"结果: {Math.Pow(baseNum, exponent)}");
                    break;
                    
                case "3":
                    Console.Write("请输入数字: ");
                    double num3 = Convert.ToDouble(Console.ReadLine());
                    if (num3 >= 0)
                        Console.WriteLine($"平方根: {Math.Sqrt(num3):F4}");
                    else
                        Console.WriteLine("不能计算负数的平方根!");
                    break;
                    
                case "4":
                    Console.Write("请输入要舍入的数字: ");
                    double num4 = Convert.ToDouble(Console.ReadLine());
                    Console.Write("请输入小数位数(0-15): ");
                    int decimals = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine($"结果: {Math.Round(num4, decimals)}");
                    break;
                    
                case "5":
                    Console.Write("请输入数字: ");
                    double num5 = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine($"向上取整: {Math.Ceiling(num5)}");
                    Console.WriteLine($"向下取整: {Math.Floor(num5)}");
                    break;
                    
                default:
                    Console.WriteLine("无效选择!");
                    break;
            }
        }
    }
}学习建议
逐题完成:按顺序完成每个练习,确保理解每个函数的用法
修改参数:尝试用不同的输入值测试程序
错误处理:为程序添加基本的错误处理(如输入验证)
功能扩展:在基础功能上添加更多数学运算
代码优化:思考如何让代码更简洁、高效
这些练习题覆盖了所有13个数学函数,通过实践可以牢固掌握它们的用法!