C#程序生成学生的成绩单

C#程序生成学生的成绩单

简介

有很多方法可以为学生生成成绩单。今天我们将学习其中之一。在本文中,我们将学习一种C#程序生成学生成绩单的方法。让我们先学习算法。

算法

让我们讨论编写生成学生成绩单的程序的算法。学生必须将输入提供给系统,然后生成成绩单。

步骤1 – 首先我们声明整数变量来存储不同的数据,例如学生的学号和科目的成绩。

步骤2 – 接下来,我们声明一个浮点变量来存储学生的百分比。

步骤3 – 接下来,我们声明一个字符串变量来存储学生的姓名。

步骤4 – 现在我们从用户那里获取输入,即学生的学号,姓名和科目成绩。

步骤5 – 然后我们添加科目的成绩并计算学生的百分比。我们使用Convert.ToInt32()进行显式转换,将输入转换为32位有符号整数。

步骤6 – 现在,我们将百分比与等级表进行比较,并告诉学生的等级并关闭程序。

现在,是时候看看算法的代码了。

示例

//C#程序生成学生成绩单
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class tpt
{
    static void Main(string[] args) {

    //变量声明以收集不同的数据
      int rollnum, marksub1, marksub2, marksub3, marksub4, marksub5, totalmark;

      //声明百分比变量
      float stud_percent;

      //声明字符串变量来存储学生的姓名
      string name;

      //获取学生的学号
      Console.WriteLine("输入学生的学号:");
      rollnum = Convert.ToInt32(Console.ReadLine());

      //获取学生的姓名
      Console.WriteLine("输入学生的姓名:");
      name = Console.ReadLine();

      //获取学生的第一个科目成绩
      Console.WriteLine("输入第一个科目的成绩:");
      marksub1 = Convert.ToInt32(Console.ReadLine());

      //获取学生的第二个科目成绩
      Console.WriteLine("输入第二个科目的成绩:");
      marksub2 = Convert.ToInt32(Console.ReadLine());

      //获取学生的第三个科目成绩
      Console.WriteLine("输入第三个科目的成绩:");
      marksub3 = Convert.ToInt32(Console.ReadLine());

      //获取学生的第四个科目成绩
      Console.WriteLine("输入第四个科目的成绩:");
      marksub4 = Convert.ToInt32(Console.ReadLine());

      //获取学生的第五个科目成绩
      Console.WriteLine("输入第五个科目的成绩:");
      marksub5 = Convert.ToInt32(Console.ReadLine());
// 计算学生总分
totalmark = marksub1 + marksub2 + marksub3 + marksub4 + marksub5;

// 计算学生的百分比
stud_percent = totalmark / 5.0f;

// 显示学生的总分和百分比
Console.WriteLine("最终成绩为{0}:", name);
Console.WriteLine("总分:" + totalmark);
Console.WriteLine("百分比:" + stud_percent);

// 块以计算学生的等级
if (stud_percent <= 35) {
   Console.WriteLine("等级:F");
}
else if (stud_percent >= 34 && stud_percent <= 39) {
   Console.WriteLine("等级:D");
}
else if (stud_percent >= 40 && stud_percent <= 59) {
   Console.WriteLine("等级:C");
}
else if (stud_percent >= 60 && stud_percent <= 69) {
   Console.WriteLine("等级:B");
}
else if (stud_percent >= 70 && stud_percent <= 79) {
   Console.WriteLine("等级:B+");
}
else if (stud_percent >= 80 && stud_percent <= 90) {
   Console.WriteLine("等级:A");
}
else if (stud_percent >= 91) {
   Console.WriteLine("等级:A+");
}
}
} 

输出

输入学生的学号:
7
输入学生的姓名:
Leo
输入第一门科目的成绩:
10
输入第二门科目的成绩:
30
输入第三门科目的成绩:
21
输入第四门科目的成绩:
7
输入第五门科目的成绩:
11
Leo的最终结果是:
总分:79
百分比:15.8
等级:F

如果学科的数量不是固定的,而是每个学生都不同,则我们可以使用数组的概念。

例子

// C# program to generate the mark sheet of the student
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class tpt{

   static void Main(string[] args) {

      // Variables declaration for collection of different data
      int rollnum, subnum, totalmark=0;
      int[] marksub=new int[25];

      // Declaration of percentage variable
      float stud_percent;

      // Declaration of string variable to store student name
      string name;

      // Getting the student’s roll number
      Console.WriteLine("输入学生的学号:");
      rollnum = Convert.ToInt32(Console.ReadLine());

      // Getting the student’s name
      Console.WriteLine("输入学生的姓名:");
      name = Console.ReadLine();

      // Getting the number of subjects 

      Console.WriteLine("输入科目数量:");
      subnum = Convert.ToInt32(Console.ReadLine());

      //Getting the student’s subject marks
      for(int i=1; i<=subnum; i++) {
         Console.WriteLine("输入第{0}门科目的成绩:",+i);
         marksub[i] = Convert.ToInt32(Console.ReadLine());
         totalmark=totalmark+marksub[i];
      }
// 计算学生成绩百分比
stud_percent = totalmark / subnum;

// 显示学生的总分和百分比
Console.WriteLine(" {0} 的最终结果是:", name);
Console.WriteLine("总分数:" + totalmark);
Console.WriteLine("百分比:" + stud_percent);

// 计算学生的等级
if (stud_percent <= 35) {
   Console.WriteLine("等级:F");
}
else if (stud_percent >= 34 && stud_percent <= 39) {
   Console.WriteLine("等级:D");
}
else if (stud_percent >= 40 && stud_percent <= 59) {
   Console.WriteLine("等级:C");
}
else if (stud_percent >= 60 && stud_percent <= 69) {
   Console.WriteLine("等级:B");
}
else if (stud_percent >= 70 && stud_percent <= 79) {
   Console.WriteLine("等级:B+");
}
else if (stud_percent >= 80 && stud_percent <= 90) {
   Console.WriteLine("等级:A");
}
else if (stud_percent >= 91) {
   Console.WriteLine("等级:A+");
}
}
}

## 输出结果
```csharp
输入学生的学号:
7
输入学生的姓名:
Cris
输入学科数目:
2
输入第一个科目的分数:
89
输入第二个科目的分数:
77
Cris 的最终结果是:
总分数:166
百分比:83
等级:A

时间复杂度

第一个代码中,学科数目已知,没有循环,数据规模是固定的,所以时间复杂度是O(1)。

第二个代码中,有一个学科数目的数组。所以,在输入学科数目后,循环会N次(N为用户输入的学科数),获取科目分数并将分数加到用户输入的学科数目总和中。因此,时间复杂度是O(N)。现在,我们总结一下文章。

结论

在本文中,我们学习了两种不同的方法编写C#程序,以生成学生的成绩单。一种是已知学科数目,另一种是未知学科数目。因此,我们结束了这篇文章。我们希望本文可以增加您关于C#的知识。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程