C#编程:根据分数输出等级

需积分: 0 0 下载量 23 浏览量 更新于2024-08-04 收藏 19KB DOCX 举报
"074_冯春霖_实验31 - C#编程中的成绩转换与三角函数计算" 在本次实验中,我们有两个C#程序,分别位于`homework1`和`homework2`命名空间中。这两个程序展示了基本的输入处理、数据类型转换以及条件判断操作。 首先,让我们关注`homework1`中的代码。这段程序的主要目标是根据用户输入的成绩(0到100之间)来判断并输出对应的等级。具体步骤如下: 1. 引入必要的命名空间:`System`, `System.Collections.Generic`, `System.Linq`, `System.Text` 和 `System.Threading.Tasks`,这些命名空间提供了执行程序所需的基本功能。 2. 在`Program`类中定义`Main`方法,这是C#程序的入口点。这里,程序读取用户输入的一个double类型的分数`mark`。 3. 使用`Convert.ToDouble(Console.ReadLine())`将控制台输入转换为double类型。这允许用户输入一个浮点数,例如95.5。 4. 接下来,通过`Math.Truncate`函数将分数除以10后的整数部分转换为整型`grade`。这用于确定成绩等级(0到100分对应0到10的等级)。 5. 使用`switch`语句根据`grade`的值输出相应的等级: - 如果`grade`在0到4之间,输出“Grade:N.”(代表不及格)。 - `grade`为5时,输出“Grade:P.”(代表及格)。 - `grade`为6时,输出“Grade:C.”(代表中等)。 - `grade`为7时,输出“Grade:D.”(代表良好)。 - `grade`在8或10时,输出“Grade:HD.”(代表优秀)。 - 如果输入超出0到100的范围,程序会提示用户检查输入。 现在,我们转向`homework2`中的代码,这部分程序涉及了常量、三角函数和平方根的计算: 1. 同样引入必要的命名空间,但这次没有`System.Threading.Tasks`。 2. 定义了一个名为`d_pi`的常量,值为3.1416,表示圆周率π。 3. 定义两个double类型的变量`d_x`和`d_y`,分别表示自变量和因变量。 4. 用户被要求输入自变量`d_x`,程序将其转换为double类型。 5. 对输入的`d_x`进行条件判断: - 如果`d_x`等于0,`d_y`被赋值为1。 - 否则,`d_y`的值计算为`Math.Sin(d_x / 2 / d_pi) + Math.Sqrt(d_x)`,这涉及了正弦函数和平方根函数,用于计算一个三角函数表达式的值。 两个程序都体现了C#中基础的输入/输出操作,数学运算,以及条件控制结构的应用。这对于学习和理解C#编程语言的基础概念是非常有帮助的。

优化:def generate_data(add_user): # 学/工号 id_num = random.randint(100000, 999999) # 姓名 first_names = ['张', '王', '李', '刘', '赵', '陈', '周', '钱', "孙", "吴", "曾", "冯", "陶", "将", "黄", "胡", "朱", "杨", "江", "何"] s_names = ['云', '风', '山', '河', '林', '羽', '行', "雪", '月', '雨', '冰', '雷', '鞥', '时', '文', '代', '格', '台', "发", '方', '欧', '白'] l_names = ['雷', '鞥', '时', '文', '代', '格', '台', "发", '方', '欧', '白'] name = random.choice(first_names) + random.choice(s_names) + random.choice(l_names) # 性别 gender = random.choice(['男', '女']) # 身份 identity = random.choice(["学生"]) # 部门 department = random.choice( ["20230608094700005793941100036910"]) # 手机号 phone_num = '1' + str(random.randint(3, 9)) + ''.join(str(random.randint(0, 9)) for _ in range(9)) id_types = ['身份证', '护照', '驾驶证', '学生证', '工作证'] if add_user: id_type = random.choice(id_types) if id_type == '身份证': id_num = ''.join(str(random.randint(0, 9)) for _ in range(18)) elif id_type == '护照': id_num = ''.join(str(random.randint(0, 9)) for _ in range(9)) elif id_type == '驾驶证': id_num = ''.join(str(random.randint(0, 9)) for _ in range(12)) elif id_type == '学生证': id_num = ''.join(str(random.randint(0, 9)) for _ in range(10)) else: id_num = ''.join(str(random.randint(0, 9)) for _ in range(8)) return [id_num, name, gender, phone_num, identity, department, phone_num, id_type, id_num] else: return [name, gender, identity, department, phone_num]

2023-06-09 上传