用C#语言完成以下控制台程序代码
求以下问题的完整代码,C#语言,控制台程序
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
var students = new List<int[]>();
var r = new Random();
for (var i = 0; i < 20; i++)
{
int[] scores = new int[4];
for (var k = 0; k < 4; k++)
scores[k] = r.Next(30, 101);
students.Add(scores);
}
int[] subjects = new int[4] { 0, 0, 0, 0 };
foreach(var stu in students)
{
Console.WriteLine("学生成绩:" + String.Join(",", stu) + " 平均成绩为:" + Math.Round(stu.Average(), 2));
subjects[0] += stu[0];
subjects[1] += stu[1];
subjects[2] += stu[2];
subjects[3] += stu[3];
}
for(var i = 0; i < 4; i++)
{
Console.WriteLine($"科目{i + 1}平均成功为:" + Math.Round((double)subjects[i] / 20, 2));
}
Console.ReadKey();
}
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注! /// <summary>
/// 利用正切值
/// 计算交点对应的弧度
/// </summary>
/// <param name="vector">圆心坐标</param>
/// <param name="intersect">交点坐标</param>
/// <returns>弧度</returns>
internal static double Tangent(Vector2 vector, Vector2 intersect)
{
double Y1 = vector.y;
double X1 = vector.x;
double Y2 = intersect.y;
double X2 = intersect.x;
double DegreeToRadian1 = System.Math.Atan2((Y2 - Y1), (X2 - X1)) * 180 / System.Math.PI;
if (DegreeToRadian1 < 0)
{
DegreeToRadian1 = 360 + DegreeToRadian1;
}
return DegreeToRadian(DegreeToRadian1);
}
}
}
/// <summary>
/// 角度转弧度
/// </summary>
/// <param name="angle">角度</param>
/// <returns>弧度</returns>
public static double DegreeToRadian(double angle)
{
return ((angle * System.Math.PI) / 180.0);
}
/// <summary>
/// 正切值转弧度
/// </summary>
/// <returns>返回一个弧度</returns>
public static double TangentToDegree(double tangent)
{
//得到正切值对应的弧度
return System.Math.Atan(tangent);
}
总的来说,思路还是蛮简单的,实现起来可能会有点复杂,希望大家有看不懂的地方,可以多动手画图理解,画图能解决百分之八十的问题,最后不要忘记,点赞,好评加关注哦。