c#部分---一维数组、冒泡排序、foreach的用法
一维数组:2016-10-14
定义方式:{定义的时候,需要数据类型、长度!}
1.int []aa=new int [5]; 表示数组里面有5个字符;
2.int []aa=new int []{1,2,3,4,5};
3.int []aa=new int [5]{1,2,3,4,5}; 表示数组里面有5个字符,分别是1,2,3,4,5,
★ aa[0]=1;表示数组中第一个空位;aa[1]=2; aa[2]=3; aa[3]=4; aa[4]=5;
(数组的索引是从“0”位开始的!)

1.输入班级人数,统计每个人的姓名,并打印;
Console.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
string []name=new string [n];
for (int i = 0; i < name.Length;i++ )
{
Console.Write("请输入第{0}位学生的姓名:",(i+1));
name[i]=Console.ReadLine();
}
Console.Write("所有学生的姓名已经打印,请按enter键进行人员打印。");
Console.ReadLine();
Console.Clear();
for (int j = 0; j < name.Length;j++ )
{
Console.Write("第{0}位学生的姓名是:{1}",(j+1),name[j]);
}
//最后的for循环还可以用foreach替代:
★★foreach(string a in name) {表示把name数组里面的每个字符赋值给a}
{
Console.Write(a);
}
2.输入班级人数,统计每个人的年龄,并排序(从大到小)
//输入班级人数,统计每个人的年龄,并排序打印(从大到小)
Console.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
int []age=new int [n];
for (int i = 0; i < age.Length;i++ )
{
Console.Write("请输入第{0}位学生的年龄:",(i+1));
age[i]=int.Parse(Console.ReadLine());
}
foreach (int aa in age)
{
Console.WriteLine(aa);
}
Console.Write("年龄输入完毕,请按回车键进行排序打印");
Console.ReadLine();
//★ for(int j=0;j<n-1;j++) (冒泡排序)
{
for(int k=j+1;k<n;k++)
{
if(age[j]<age[k])
{
int zhong=age[j];
age[j]=age[k];
age[k]=zhong;
}
}
}
foreach(int aa in age)
{
Console.WriteLine(aa);
}
3个练习题;
//1.输入班级人数,输入每个人的分数,求班级最高分,最低分,平均分,
//去掉两个最高分并且去掉两个最低分之后的所有人员的平均分。
// Console.Write("请输入班级人数:");
// int n = int.Parse(Console.ReadLine());
// int []score=new int[n];
// for (int i = 0; i < n;i++ )
// {
// Console.Write("第{0}位同学的分数是:",(i+1));
// score[i] = int.Parse(Console.ReadLine());
// }
// Console.Write("学生分数输入完毕,请按回车键进行排序。");
// Console.ReadLine();
// for(int j=0;j<score.Length-1;j++)
// {
// for(int k=j+1;k<n;k++)
// {
// if(score[j]<score[k])
// {
// int zhong=score[j];
// score[j]=score[k];
// score[k] = zhong;
// }
// }
// }
// int sum = 0;
// foreach(int aa in score)
// {
// Console.Write(aa);
// sum = sum + aa;
// }
//double sum1=sum-score[0]-score[1]-score[n-2]-score[n-1];
// Console.Write("分数排序完毕,请按回车键继续。");
// Console.ReadLine();
// Console.Write("最高分是:{0}",score[0]+"\n");
// Console.Write("最低分是:{0}", score[(n - 1)]+"\n");
// Console.Write("平均分是:{0}", (sum / n)+"\n");
// Console.Write("最后平均分是:{0}",(sum1/(n-4)));
//2.随机生成一注彩票中奖号码。(6个红球(范围1~33),一个蓝球(1~16)),注意,不能重复。
//Random aa = new Random();
//int[] h = new int[33];
//for (int i = 0; i < 6;i++ )
//{
// h[i] = aa.Next(1,33);
// //用冒泡排序
// for (int j = 0; j < 5; j++)
// {
// for (int k = j + 1; k < 6; k++)
// {
// if (h[j] == h[k])
// {
// h[j] = aa.Next(1, 33);
// }
// }
// }
// Console.Write("第{0}个红球号码是:{1}", (i + 1), h[i]+"\n");
//}
//int l = aa.Next(1,16);
//Console.Write("篮球号码是:{0}",l);
//3.拓展题目
//输入班级人数,输入一个人名,输入一个分数。求班级最高分是多少,是谁的分数(注意姓名跟分数对应)
Console.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
string []name=new string [n];
int []score=new int[n];
string []sz=new string [n];
for (int i = 0; i < n;i++ )
{
Console.Write("请输入第{0}个学生的名字:",(i+1));
name[i] = Console.ReadLine();
Console.Write("请输入第{0}个学生的分数:",(i+1));
score[i] = int.Parse(Console.ReadLine());
sz[i] = name[i] + score[i];
}
Console.WriteLine("姓名与分数已经输入完毕,请按回车键进行排序并打印。");
Console.ReadLine();
for(int j=0;j<n-1;j++)
{
for(int k=j+1;k<n;k++)
{
if(score[j]<score[k])
{
string zhong=sz[j];
sz[j]=sz[k];
sz[k]=zhong;
}
}
}
foreach (string p in sz)
{
Console.WriteLine(p);
}
c#部分---一维数组、冒泡排序、foreach的用法的更多相关文章
- C#-一维数组——★★冒泡排序★★
////★★★★★冒泡排序 ; i < a - ; i++) { ; j < a; j++) { if (age[i] < age[j]) { int zhong = age[i]; ...
- C 一维数组 冒泡排序,查最大值
1. 初始化 char a[10] = {'1','2','3','4','5'};//指定数组大小并部分赋初值, 其余部分赋值 '\0' ,ASSIC 是 0 char b[] = {'1','2' ...
- C# 一维数组 冒泡排序
假设有个三个杯子 一个杯子中有一个紫色的乒乓球 一个没有 一个有红色乒乓球 杯子不能动 怎么把紫色和红色的调换呢 主要是先把紫色的放到空的杯子 在把红的放到紫色原来的杯子 再把 ...
- 10-20C#基础---一维、二维数组&&冒泡排序
一.一维数组 1.定义:是某一种数据类型的数据的组合,数组用来分组基本类型或相同类型的对象.数组中的实体叫做数组的元素或成员. 2. 格式:int[ ] shuzu=new int[ 6];存放int ...
- C语言《一维数组的学习,冒泡排序》
#include<stdio.h> /* 一维数组的学习,冒泡排序 soulsjie 20170623 */ void main(){ int a[6]; int i,j,k; print ...
- 060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序
060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序 本文知识点:冒泡排序 冒泡排序 实际案例分析冒泡排序流程 第1轮比较: 第1轮比较的结果:把最 ...
- Day9 数组 冒泡排序及稀疏数组!
数组 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.(下标从0开始) 数 ...
- C语言回顾-整型变量修饰符和一维数组
1.整型变量修饰符 1)改变整型变量的存储空间 #include <stdio.h> int main(int argc, const char * argv[]) { //改变整型变量占 ...
- c语言操作一维数组-3
C语言选择题#includemain(){double a[15],k;k=fun(a);} 则以下选项中错误的fun函数首部是 ( D)A.double fun(double a[15]) B.do ...
随机推荐
- long long 读数scanf的转换 #define
在win32的评测系统下,long long scanf 要用"%I64d" ,而网上评测和考试要用"%lld",因此,难免有点麻烦,还会runtime err ...
- [ASP.NET] 使用Loading遮罩防止使用者重複點擊
From: http://www.dotblogs.com.tw/joysdw12/archive/2012/12/13/85629.aspx 前言 在網頁執行中可能會因為資料量大或其他原因影響使用者 ...
- Hibernate对象映射类型
Hibernate understands both the Java and JDBC representations of application data. The ability to rea ...
- 经典线程同步 信号量Semaphore
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇一个经典的多线程同步问题> <秒杀多线程第五篇经典线程同步关键段CS> <秒杀多线程第六篇经典线程同步事件Event& ...
- vue js 用nodejs的依赖包 --2016-08-23
今天被nodejs包依赖坑了一下,上次上传的项目突然运行不起来了,原来是package.json中定义了使用最新版本的依赖,而最新版本有可能调整了结构或者改了api,比如vux把flexbox-it ...
- JVM-内存分配与回收策略
简单介绍一下Java技术体系下的Java虚拟机内存分配与回收策略. 1.对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分分配.当Eden区已没有足够空间进行分配时,虚拟机将发起一次 ...
- JVM-垃圾收集器
Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商,不同版本的虚拟机所提供的垃圾收集器可能会有很大差距. HotSpot虚拟机示意图: 说明:两个收集器之间存在连线说明它们可 ...
- 使用变量替换批量部署GoldenGate
GoldenGate运行时允许在参数文件中动态指定一个值,即在参数文件中使用一个变量,而不是一个静态的值,当启动OGG进程时,根据环境动态加载此变量的值,达到在不同环境中,通过变量定义,实现多个环境的 ...
- dotTracePerormance 工具
今天凌晨 阿根廷对瑞士比赛已经过去,比分是1:0 阿根廷获胜:虽说我是伪球迷,但是也挺希望梅西进入决赛.昨晚也压了下90分之内 0:0 ,结果胜出:另一场压的是美国对比利时,也是压平,就这样二串 ...
- IIS 6.0 401 错误
1.错误号401.1 症状:HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝 分析: 由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无 ...