C# 使用面向过程计算加权平均分的方法

Finn
Finn
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍如何使用C#语言通过面向过程的方式编写一个控制台应用程序,实现加权平均分的自动计算功能。主要逻辑包括获取课程数量、分别输入各科成绩与权重(学分),最后按公式累加并求平均。

方法原理

加权平均分的核心数学逻辑是:将所有科目的成绩乘以其对应的权重(如学分)后累加,再除以所有权重的总和。这种基于输入流的线性处理方式属于典型的面向过程编程思想,不涉及复杂的类封装,但能清晰展示数据录入与运算顺序。

准备条件

  1. 运行环境:安装 .NET Framework 或 .NET Core SDK,具备基本的控制台应用编译能力。
  2. 输入数据:需要提前统计好总课程数、每门课程的得分以及对应的权重值。

第1步:定义变量结构

目的:创建用于存储用户输入数据的数组和累加变量。

动作:首先通过 Console.ReadLine() 获取学生需要计算的总课程数 score_number。随后,实例化两个同尺寸的数组 double[] score(存放分数)和 double[] unit(存放权重)。同时初始化累加器 sum 和 total_credit 为0。

第2步:分步录入成绩与权重

目的:将学生的各项成绩及对应权重准确存入内存数组中。

操作:

  • 提示用户输入各个分数,利用 for 循环遍历数组索引,通过 Convert.ToDouble 转换输入的字符串并存入 score 数组。
  • 同理,提示用户输入各个权重(如学分数),转换并填入 unit 数组。

第3步:执行加权累加计算

目的:根据公式完成核心算术运算。

参数:score[i] * unit[i]。

操作:

  1. 第一次遍历数组:计算每科贡献的总分,即 sum = sum + (score[i] * unit[i])。
  2. 第二次遍历数组:计算总学分,即 total_credit = total_credit + unit[i]。

第4步:输出最终结果

判断标准:result 变量存在有效数值。

操作:执行除法运算 result = sum / total_credit,并通过控制台打印出最终的加权平均分。由于采用面向过程的写法,整个逻辑自上而下执行,无需跳转。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
 class Program
 {
  static void Main(string[] args)
  {
   Console.WriteLine("输入你的总共课程数:");
   int score_number = 0;
   string score_temp = Console.ReadLine();
   score_number = Convert.ToInt32(score_temp);
   double[] score;
   score = new double[score_number];
   double[] unit;
   unit = new double[score_number];
   double sum = 0;
   double total_credit=0;
   Console.WriteLine("请输入你的各个分数:");
   for (int i = 0; i <= score_number-1;i++ )
   {
    string temp=Console.ReadLine();
    score[i] = Convert.ToDouble(temp);
   }
   Console.WriteLine("请输入你的各个权重:");
   for (int i = 0; i <= score_number-1;i++ )
   {
    string temp = Console.ReadLine();
    unit[i] = Convert.ToDouble(temp);
   }
   for (int i = 0;i <= score_number-1;i++)
   {
    sum =sum+(score[i] * unit[i]);
   }
   for (int i = 0; i <= score_number-1;i++ )
   {
    total_credit = total_credit + unit[i];
   }
   double result = 0;
   result = sum / total_credit;
   Console.WriteLine("您的加权评均分为:");
   Console.WriteLine(result);
   Console.ReadKey();
  }
 }
}

简要总结

该代码清晰地展示了C#中使用数组处理和顺序计算的基本模式。虽然面对大规模数据时推荐使用数据结构或面向对象设计以提高可维护性,但对于简单的单次计算任务,这种面向过程的脚本式写法具有较高的可读性和直接性。

以上就是C#基于面向过程计算加权平均分方法的详细内容,更多关于C#程序设计的基础资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表