You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#课程作业:Pro(k)方法实现疑问及代码修正求助

修正后的实现方案

完整代码

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Enter a = ");
        int a = int.Parse(Console.ReadLine());
        Console.WriteLine("Enter b = ");
        int b = int.Parse(Console.ReadLine());
        Console.WriteLine("Enter c = ");
        int c = int.Parse(Console.ReadLine());

        // 对c-b取绝对值后传入Pro方法
        int finalResult = Pro(Math.Abs(c - b)) * Pro(a);
        Console.WriteLine($"最终计算结果:{finalResult}");
    }

    public static int Pro(int k)
    {
        int sum = 0;
        Random randomGenerator = new Random();
        
        for (int i = 0; i < k; i++)
        {
            // 生成int范围内的随机整数
            int randomNum = randomGenerator.Next(int.MinValue, int.MaxValue);
            
            // 判断是否在[-10,10]区间内,符合则累加
            if (randomNum >= -10 && randomNum <= 10)
            {
                sum += randomNum;
            }
        }

        Console.WriteLine($"生成{k}个随机数,[-10,10]区间内的数的和为:{sum}");
        return sum;
    }
}

关键修改说明

  • 替换手动输入为随机数生成:
    移除原代码中手动输入数字的逻辑,改用Random类生成随机整数。randomGenerator.Next(int.MinValue, int.MaxValue)会生成覆盖整个int范围的随机数,完全符合题目“生成k个随机整数”的要求。

  • 添加绝对值处理:
    调用Pro方法时,使用Math.Abs(c - b)确保传入的参数是正整数——题目要求输入的a、b、c是正整数,但c - b可能为负数,取绝对值后才能满足Pro方法对k为正整数的需求。

  • 清理冗余测试代码:
    删除原Main方法中单独测试Pro(k)的代码,聚焦作业要求的核心逻辑:输入a、b、c后计算Pro(|c-b|)*Pro(a)。

  • 优化输出可读性:
    使用字符串插值$""让输出内容更直观,明确每个步骤的结果含义。

内容的提问来源于stack exchange,提问作者Fatma Sahatchieva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:20:37