c#控制台程序编程题!求答案 谢谢!
编写一个控制台程序,支持一门课程的任课老师对考试结果进行汇总分析,实现以下功能:1)输入班级人数;2)依次接受每个同学的成绩,并对每个成绩判断输出其对应的等级;3)统计信...
编写一个控制台程序,支持一门课程的任课老师对考试结果进行汇总分析,实现以下功能:
1) 输入班级人数;
2) 依次接受每个同学的成绩,并对每个成绩判断输出其对应的等级;
3) 统计信息包括:全班的最高分、最低分、0~59区间分数的人数及其所占的比率、60~69区间分数的人数及其所占的比率、70~79区间分数的人数及其所占的比率、80~89区间分数的人数及其所占的比率、90~100区间分数的人数及其所占的比率 展开
1) 输入班级人数;
2) 依次接受每个同学的成绩,并对每个成绩判断输出其对应的等级;
3) 统计信息包括:全班的最高分、最低分、0~59区间分数的人数及其所占的比率、60~69区间分数的人数及其所占的比率、70~79区间分数的人数及其所占的比率、80~89区间分数的人数及其所占的比率、90~100区间分数的人数及其所占的比率 展开
展开全部
using System;
using System.IO;
using System.Collection.Generic;
using System.Linq;
class Program
{
public static void Main(string[] args)
{
int classStudentCounts = 0;
List<int> classStudentScores = new List<int>();
// -- 读取班级总人数部分
string _classStudentCounts;
do
{
do
{
Console.Write(_classStudentCounts != null ? "请输入班级总人数:" : "请重新输入班级总人数:(格式:"[+]正整数",范围:1 ~ 200)");
_classStudentCounts = Console.ReadLine();
} while(String.IsNullOrWhiteSpace(_classStudentCounts) || !Regex.IsMatch(@"%s*[+]?%d+%s*", _classStudentCounts);
classStudentCounts = int.Parse(_classStudentCounts.Trim());
} while(0 == classStudentCounts > 200);
// -- 读取班级所有学生分数部分
string _classStudentScore;
for(int i = 0; i < classStudentCounts; ++i)
{
do
{
do
{
Console.Write(_classStudentScore != null ? "请输入第 {0} 位班级学生的分数:" : "请重新输入第 {0} 位班级学生的分数:(格式:"[+]正整数",范围:0 ~ 100)", i + 1);
_classStudentScore = Console.ReadLine();
} while(String.IsNullOrWhiteSpace(_classStudentScore) || !Regex.IsMatch(@"%s*[+]?%d+%s*", _classStudentScore);
classStudentScores.Add(int.Parse(_classStudentScore.Trim()));
} while(classStudentScores[i] > 100);
}
// -- 输出班级学生分数相关信息部分
Console.WriteLine("全班最高分:{0}", classStudentScores.Max());
Console.WriteLine("全班最低分:{0}", classStudentScores.Min());
Console.WriteLine("分数为 0 ~ 59 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 0 <= item <= 59; }), classStudentScores.Count((item) => { 0 <= item <= 59; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 60 ~ 69 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 60 <= item <= 69; }), classStudentScores.Count((item) => { 60 <= item <= 69; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 70 ~ 79 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 70 <= item <= 79; }), classStudentScores.Count((item) => { 70 <= item <= 79; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 80 ~ 89 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 80 <= item <= 89; }), classStudentScores.Count((item) => { 80 <= item <= 89; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 90 ~ 100 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 90 <= item <= 100; }), classStudentScores.Count((item) => { 90 <= item <= 100; }) / classStudentScores.Count * 100);
}
}
using System.IO;
using System.Collection.Generic;
using System.Linq;
class Program
{
public static void Main(string[] args)
{
int classStudentCounts = 0;
List<int> classStudentScores = new List<int>();
// -- 读取班级总人数部分
string _classStudentCounts;
do
{
do
{
Console.Write(_classStudentCounts != null ? "请输入班级总人数:" : "请重新输入班级总人数:(格式:"[+]正整数",范围:1 ~ 200)");
_classStudentCounts = Console.ReadLine();
} while(String.IsNullOrWhiteSpace(_classStudentCounts) || !Regex.IsMatch(@"%s*[+]?%d+%s*", _classStudentCounts);
classStudentCounts = int.Parse(_classStudentCounts.Trim());
} while(0 == classStudentCounts > 200);
// -- 读取班级所有学生分数部分
string _classStudentScore;
for(int i = 0; i < classStudentCounts; ++i)
{
do
{
do
{
Console.Write(_classStudentScore != null ? "请输入第 {0} 位班级学生的分数:" : "请重新输入第 {0} 位班级学生的分数:(格式:"[+]正整数",范围:0 ~ 100)", i + 1);
_classStudentScore = Console.ReadLine();
} while(String.IsNullOrWhiteSpace(_classStudentScore) || !Regex.IsMatch(@"%s*[+]?%d+%s*", _classStudentScore);
classStudentScores.Add(int.Parse(_classStudentScore.Trim()));
} while(classStudentScores[i] > 100);
}
// -- 输出班级学生分数相关信息部分
Console.WriteLine("全班最高分:{0}", classStudentScores.Max());
Console.WriteLine("全班最低分:{0}", classStudentScores.Min());
Console.WriteLine("分数为 0 ~ 59 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 0 <= item <= 59; }), classStudentScores.Count((item) => { 0 <= item <= 59; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 60 ~ 69 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 60 <= item <= 69; }), classStudentScores.Count((item) => { 60 <= item <= 69; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 70 ~ 79 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 70 <= item <= 79; }), classStudentScores.Count((item) => { 70 <= item <= 79; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 80 ~ 89 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 80 <= item <= 89; }), classStudentScores.Count((item) => { 80 <= item <= 89; }) / classStudentScores.Count * 100);
Console.WriteLine("分数为 90 ~ 100 范围总人数:{0}({1}%)", classStudentScores.Count((item) => { 90 <= item <= 100; }), classStudentScores.Count((item) => { 90 <= item <= 100; }) / classStudentScores.Count * 100);
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询