C#ArrayList集合——小例题
用两种方法编写题目:输入姓名,语文分数,数学分数,英语分数到集合,求语文总分,数学平均分,英语最高分以及英语最高分是谁。
法一:一个集合的做法
Console.Write("输入总人数:");
int s = int.Parse(Console.ReadLine());
ArrayList ss = new ArrayList();
for (int i = 0; i < s; i++)
{
Console.Write("第" + (i + 1) + "的姓名:");
ss.Add(Console.ReadLine());
Console.Write("第" + (i + 1) + "英语成绩:");
ss.Add(Console.ReadLine());
Console.Write("第" + (i + 1) + "数学成绩:");
ss.Add(Console.ReadLine());
Console.Write("第" + (i + 1) + "语文成绩:");
ss.Add(Console.ReadLine());
}
for (int i = 1; i <= 4 * s; i += 4)
{
for (int j = i; j <= 4 * s - 4; j += 4)
{
if (double.Parse(ss[i].ToString()) < double.Parse(ss[j + 4].ToString()))
{
double ying = double.Parse(ss[i].ToString());
ss[i] = ss[j + 4];
ss[j + 4] = ying;
string xing = ss[i - 1].ToString();
ss[i - 1] = ss[j + 3];
ss[j + 3] = xing;
double shu = double.Parse(ss[i + 1].ToString());
ss[i + 1] = ss[j + 5];
ss[j + 5] = shu;
double yu = double.Parse(ss[i + 2].ToString());
ss[i + 2] = ss[j + 6];
ss[j + 6] = yu;
}
}
}
for (int i = 0; i < 4 * s; i++)
{
Console.WriteLine(ss[i]);
}
double sum1 = 0;
double sum2 = 0;
for (int i = 0; i < 4 * s; i+=4)
{
sum1 += double.Parse(ss[i + 2].ToString());
sum2 += double.Parse(ss[i + 3].ToString());
}
Console.WriteLine("数学总分:" + sum1);
Console.WriteLine("语文平均分:" + (sum2 / s));
Console.WriteLine("英语分数最高的人是:" + ss[0] + ",分数是:" + ss[1]);
Console.ReadLine();
法二:四个集合的做法
Console.Write("输入总人数:");
int s = int.Parse(Console.ReadLine());
ArrayList ss = new ArrayList();
ArrayList rr = new ArrayList();
ArrayList tt = new ArrayList();
ArrayList yy = new ArrayList();
for (int i = 0; i < s; i++)
{
Console.Write("第" + (i + 1) + "的姓名:");
ss.Add(Console.ReadLine());
Console.Write("第" + (i + 1) + "英语成绩:");
rr.Add(Console.ReadLine());
Console.Write("第" + (i + 1) + "数学成绩:");
tt.Add(Console.ReadLine());
Console.Write("第" + (i + 1) + "语文成绩:");
yy.Add(Console.ReadLine());
}
for (int i = 0; i < s; i++)
{
for (int j = i; j < s - 1; j++)
{
if (double.Parse(rr[i].ToString()) < double.Parse(rr[j + 1].ToString()))
{
double ying = double.Parse(rr[i].ToString());
rr[i] = rr[j + 1];
rr[j + 1] = ying;
string xing = ss[i].ToString();
ss[i] = ss[j + 1];
ss[j + 1] = xing;
double shu = double.Parse(tt[i].ToString());
tt[i] = tt[j + 1];
tt[j + 1] = shu;
double yu = double.Parse(yy[i].ToString());
yy[i] = yy[j + 1];
yy[j + 1] = yu;
}
}
}
for (int i = 0; i < s; i++)
{
Console.WriteLine(ss[i] + "\t");
Console.WriteLine(rr[i] + "\t");
Console.WriteLine(tt[i] + "\t");
Console.WriteLine(yy[i] + "\t");
}
double sum1 = 0;
double sum2 = 0;
for (int i = 0; i < s; i++)
{
sum1 += double.Parse(tt[i].ToString());
sum2 += double.Parse(yy[i].ToString());
}
Console.WriteLine("数学总分:" + sum1);
Console.WriteLine("语文平均分:" + (sum2 / s));
Console.WriteLine("英语分数最高的人是:" + ss[0] + ",分数是:" + rr[0]);
Console.ReadLine();
C#ArrayList集合——小例题的更多相关文章
- 《java入门第一季》之ArrayList集合小案例
案例一:去除集合里面的重复元素 package cn.itcast_04; import java.util.ArrayList; /* * ArrayList去除集合中字符串的重复值(字符串的内容相 ...
- ArrayList集合例题,商品库存管理(集合)
创建车库集合,存进车 public class demo1 { String pinpai; String c; int s; } import java.util.ArrayList; class ...
- C#语言基础——集合(ArrayList集合)
集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections ...
- 2016年10月16日--ArrayList集合、特殊集合
ArrayList集合 使用前引用 using System.Collections; ArrayList集合 实例化.初始化 ArrayList al = new ArrayList(); Arra ...
- Linux 信号量 生产者消费者小例题
菜鸟偶遇信号量,擦出火花(只有不熟才会有火花).于是上网搜资料和看<Unix环境高级编程>实现了几个小例题,高手请勿喷!这几位写得非常好啊: 题目来源: http://www.it165. ...
- Java集合 -- ArrayList集合及应用
JAVA集合 对象数组 集合类之ArrayList 学生管理系统 斗地主案例 NO.one 对象数组 1.1 对象数组描述 A:基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3, ...
- 【转载】C#使用InsertRange方法往ArrayList集合指定位置插入另一个集合
在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指 ...
- 【转载】C#中使用Insert方法往ArrayList集合指定索引位置插入新数据
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,在ArrayList集合操作过程中,可以使用ArrayList集合类的I ...
- 【转载】C#中AddRange方法往ArrayList集合末尾添加另一个集合
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,如果需要往一 ...
随机推荐
- MVC之前的那点事儿系列(4):Http Pipeline详细分析(上)
文章内容 继续上一章节的内容,通过HttpApplicationFactory的GetApplicationInstance静态方法获取实例,然后执行该实例的BeginProcessRequest方法 ...
- Appcelerator Titanium Studio: JNI_CreateJavaVM missing error
Mac升级到Yosemite后,Titanium Studio启动不了,报Appcelerator Studio: JNI_CreateJavaVM missing error 之类的错误,重装了Or ...
- 高级Java研发工程师面试题总结
目录 一.Java基础 二.JVM虚拟机基础 三.开源框架基础 四.分布式基础 五.设计模式基础 六.数据库基础 七.网络基础 八.数据结构和算法基础 九.Linux基础 十.其他技术基础 一.JAV ...
- 第十一届“蓝狐网络杯”湖南省大学生计算机程序设计竞赛 B - 大还是小? 字符串水题
B - 大还是小? Time Limit:5000MS Memory Limit:65535KB 64bit IO Format: Description 输入两个实数,判断第一个数大 ...
- 如何在MFC对话框应用程序中使用ColorPicker控件
在日常的应用程序开发中,当涉及到曲线绘制时,为了将多条不同类型的曲线区分开,常常需要将它们指定不同的颜色.今天在这里简单的记录一下,如何实现及使用ColorPicker控件.程序用到4个文件依次为:C ...
- Spring面试基本问题(1)
1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问题, ...
- Android QQ群:343816731 欢迎大家加入探讨
Android QQ群:343816731 欢迎大家加入探讨.
- linux基础知识总结
使用linux将近一年了,一直都没有时间来总结一下,借着最近在整理知识框架的机会总结一下linux的应用知识. 1.linux有两个目录很特殊,一个是~,另一个是/.两个目录的含义不一样,/是系统 ...
- javascript(定时函数)
一setTimeout函数和setInterval函数的语法以及应用 1.setTimeout函数 定义和用法:setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式. 语法:setTi ...
- 15款最佳的MySQL管理工具和应用程序
工欲善其事,必先利其器.几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人员在许多方面支持包括 PostgreSQL,MySQL,SQLite,Redis,MongoDB 等在内的多种数 ...