练习一:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace 练习题 { class Program { //练习1:结构体 struct Student { public int no; public string name; public string sex; public double score; } static void Main(string[] args) { //练习1:将结构体添加到集合中,取出某个索引位置的信息进行查看 Console.Write("请输入班级人数:"); int n = int.Parse(Console.ReadLine()); //定义一个集合,并初始化 ArrayList al = new ArrayList(); for (int i = 0; i < n; i++) { //初始化结构体,每放一个人的信息时都要进行初始化,所以放在循环内部 Student st = new Student(); Console.Write("请输入第{0}个人的学号:", (i + 1)); st.no = int.Parse(Console.ReadLine()); Console.Write("请输入第{0}个人的姓名:", (i + 1)); st.name = Console.ReadLine(); Console.Write("请输入第{0}个人的性别:", (i + 1)); st.sex = Console.ReadLine(); Console.Write("请输入第{0}个人的分数:", (i + 1)); st.score = double.Parse(Console.ReadLine()); al.Add(st); } //重新定义一个结构体, Student st1 = new Student(); //取出某个索引号位置的信息进行查看 Console.WriteLine("按回车键查看第二个学生的信息!"); Console.ReadLine(); st1 = (Student)al[1]; Console.WriteLine("该学生的学号是:{0},姓名是:{1},性别是:{2},分数是:{3}", st1.no, st1.name, st1.sex, st1.score); Console.ReadLine(); } } }
练习2:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace 练习题 { class Program { //练习2:结构体 struct student { public string name; public double yu; public double shu; public double ying; } static void Main(string[] args) { //练习2:定义一个结构体,里面具有姓名,语数英成绩 //将,每个人的信息放入结构体中 //将所有人的信息添加进集合中 //求语文分数的总分 //求数学分数的平均分 //查看英语分数的两个最高分的人的全部信息(姓名、语文成绩,数学成绩,英语成绩) //使用冒泡排序, Console.Write("请输入班级人数:"); int n = int.Parse(Console.ReadLine()); //集合初始化,初始化首先要在上面引用:using System.Collections; ArrayList al = new ArrayList(); double a = 0; double b = 0; for (int i = 0; i < n; i++) { //结构体初始化,每放一个人的信息就要重新初始化 student st = new student(); Console.Write("请输入第{0}个人的姓名:", (i + 1)); st.name = Console.ReadLine(); Console.Write("请输入第{0}个人的语文成绩:", (i + 1)); st.yu = double.Parse(Console.ReadLine()); a += st.yu; Console.Write("请输入第{0}个人的数学成绩:", (i + 1)); st.shu = double.Parse(Console.ReadLine()); b += st.shu; Console.Write("请输入第{0}个人的英语成绩:", (i + 1)); st.ying = double.Parse(Console.ReadLine()); al.Add(st); } Console.WriteLine("所有人的信息输入完毕,请按回车键继续!"); Console.ReadLine(); Console.WriteLine("语文成绩的总分数是:" + a); Console.WriteLine("数学成绩的平均分数是:" + b / n); //冒泡排序,英语两个最高分 for (int i = 0; i < n; i++) { student s1 = new student(); s1 = (student)al[i]; for (int j = i + 1; j < n; j++) { student s2 = new student(); s2 = (student)al[j]; if (s1.ying < s2.ying) { object zhong = al[i]; al[i] = al[j]; al[j] = zhong; } } } student st1 = new student(); st1 = (student)al[0]; student st2 = new student(); st2 = (student)al[1]; Console.WriteLine("英语分数最高的第一个同学是:{0},语文分数为:{1},数学分数为:{2},英语分数为:{3}", st1.name, st1.yu, st1.shu, st1.ying); Console.WriteLine("英语分数最高的第二个同学是:{0},语文分数为:{1},数学分数为:{2},英语分数为:{3}", st2.name, st2.yu, st2.shu, st2.ying); Console.ReadLine(); } } }
练习3:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace 练习题 { class Program { static void Main(string[] args) { //练习3:三个候选班长,张三,李四,王五,20个人投票, //1,2,3分别对应张三,李四,王五,其他均视为废票, //要求20个人输入的全部放进数组中,查看谁的票数最高 int[] array = new int[20]; for (int i = 0; i < 20; i++) { Console.Write("请输入第{0}个人的投票数:", (i + 1)); array[i] = int.Parse(Console.ReadLine()); } int sum1 = 0; int sum2 = 0; int sum3 = 0; int sum4 = 0; for (int i = 0; i < 20; i++) { if (array[i] == 1) { sum1++; } else if (array[i] == 2) { sum2++; } else if (array[i] == 3) { sum3++; } else { sum4++; } } Console.WriteLine("作废票数为:" + sum4); Console.WriteLine("张三的得票数为:" + sum1); Console.WriteLine("李四的得票数为:" + sum2); Console.WriteLine("王五的得票数为:" + sum3); if (sum1 > sum2 && sum1 > sum3) { Console.WriteLine("当选班长的是:张三!"); } else if (sum2 > sum1 && sum2 > sum3) { Console.WriteLine("当选班长的是:李四!"); } else if (sum3 > sum1 && sum3 > sum2) { Console.WriteLine("当选班长的是:王五!"); } else { Console.WriteLine("有相同票数,请重新投票!"); } Console.ReadLine(); } } }
时间: 2024-11-06 07:32:36