c# 集合练习题

1、输入班级人数,输入每个人的姓名、语数英成绩进入集合
求语文的总分,数学的平均分,
英语的最高分的人的姓名及所有科目的分数(冒泡排序)
0 姓名 4 8 12
1 语文成绩5 9 13
2 数学成绩6 10 14
3 英语成绩7 11 15

//数字为索引号

Console.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
double yu = 0;
double shu = 0;
ArrayList al = new ArrayList();
for (int i = 0; i < n; i++)
{
Console.Write("请输入第{0}个人的姓名:",i+1);
al.Add(Console.ReadLine());
Console.Write("请输入第{0}个人的语文成绩:",i+1);
al.Add(double.Parse(Console.ReadLine()));
yu += double.Parse(al[al.Count - 1].ToString());
Console.Write("请输入第{0}个人的数学成绩:", i + 1);
al.Add(double.Parse(Console.ReadLine()));
shu += double.Parse(al[al.Count - 1].ToString());
Console.Write("请输入第{0}个人的英语成绩:", i + 1);
al.Add(double.Parse(Console.ReadLine()));
}
Console.WriteLine("所有信息输入完毕,请按回车键继续!");
Console.ReadLine();
Console.WriteLine("语文的总分是:"+yu);
Console.WriteLine("数学的平均分是:"+(shu/n));

for (int i = 3; i < 4*n-1; i+=4)
{
for (int j = i; j < 4 * n - 4; j += 4)
{
if (double.Parse(al[i].ToString()) < double.Parse(al[j + 4].ToString()))
{
//换姓名
object zhong = al[i - 3];
al[i - 3] = al[j + 1];
al[j + 1] = zhong;
//换语文
zhong = al[i - 2];
al[i - 2] = al[j + 2];
al[j + 2] = zhong;
//换数学
zhong = al[i - 1];
al[i - 1] = al[j + 3];
al[j + 3] = zhong;
//换英语
zhong = al[i];
al[i] = al[j + 4];
al[j + 4] = zhong;
}
}
}
Console.WriteLine("英语最高分的学生是{0},英语分数是{1},语文分数是{2},数学分数{3}",al[0],al[3],al[1],al[2]);
Console.ReadLine();

时间: 2024-10-06 21:14:52

c# 集合练习题的相关文章

集合练习题2

第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚.日本,美国,中国,新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利 package com.jihelianxi; import java.util.ArrayList; import java.util.List; import java.util.Random; publ

java 集合练习题2

分别向Set集合以及List集合中添加“A”.“a”.“c”.“C”.“a”五个元素,观察重复值“a”能否在List集合以及Set集合中成功添加. package com.hanqi.jihe; import java.util.*; public class Test3 { public static void main(String[] args) { // TODO 自动生成的方法存根 System.out.println("list"); List<String>

列表,元组,字典,集合 练习题

练习题:(字符串name = ' aleX'# 1) 移除 name 变量对应的值两边的空格,并输出处理结果print(name.strip())# 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果if name.startswith('al'): print(name)else: print('no')# 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果if name.endswith('x'): print(name)els

java 集合练习题3

创建Map集合,创建Emp对象,并将创建的Emp对象田间道集合中(Emp对象中的id作为Map集合的键),并将id为005的对象从集合中移除. package com.hanqi.jihe; public class Emp { private String e_id; private String e_name; public Emp(String e_id,String e_name) { this.e_id=e_id; this.e_name=e_name; } public String

Java集合练习题List插入1-100

package 练习1到100; import java.util.*; public class Test { public static void main(String[] args) { List <Integer> ls=new ArrayList<Integer>(); for(int i=1;i<=100;i++) { ls.add(i); } ls.remove(10); for(int k:ls) { System.out.print(k+" &q

python day three

一.SET集合 set集合是无序的,不重复的. 1.创建 第一种: s1 = {"123","456"}     #集合用大括号包起来,字符串用逗号隔开 第二种: li = [11,22,33] s2 = set(li) #当执行set()的时候,实际上是调用set的__init__来对li里边的元素做一个for循环,然后转成set. 2.功能 1.s1.add() #增加元素 2.s1.clear() #清空集合内容 3.s1.copy()#浅复制 4.s1.di

20175306《信息安全系统设计基础》第十三周学习总结

20175306<信息安全系统设计基础>第十三周学习总结 找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分): 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 参考上面的学习总结模板,把学习过程通过博客(随笔)发表,博客标题"学号 <信息安全系统设计基础>第十三周学习总结",博客(随笔)要通过作业提交,截至时间本周日 23:59. 第十二章:并发编程 学习总结 如果逻辑控制流在时间上重叠,那么他们就是并发的.并发出

集合中的3个经典练习题

//将一个数组中的奇数放到一个集合中,再将数组的偶数放到另一个集合中. //最终将两个集合合并为一个集合,并且奇数显示在左边,偶数显示在右边. int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); for (int i = 0; i < nums.Length; i++) { if (nums[i] % 2 == 0) {

Java集合框架上机练习题:编写一个Book类,该类至少有name和price两个属性。该类要实现Comparable接口,在接口的compareTo()方法.....

编写一个Book类,该类至少有name和price两个属性.该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系.在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等. package javajihe; public class Book implements Comparable{ String name; float price; B