一维数组: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的用法的更多相关文章

  1. C#-一维数组——★★冒泡排序★★

    ////★★★★★冒泡排序 ; i < a - ; i++) { ; j < a; j++) { if (age[i] < age[j]) { int zhong = age[i]; ...

  2. C 一维数组 冒泡排序,查最大值

    1. 初始化 char a[10] = {'1','2','3','4','5'};//指定数组大小并部分赋初值, 其余部分赋值 '\0' ,ASSIC 是 0 char b[] = {'1','2' ...

  3. C# 一维数组 冒泡排序

    假设有个三个杯子    一个杯子中有一个紫色的乒乓球  一个没有  一个有红色乒乓球    杯子不能动 怎么把紫色和红色的调换呢 主要是先把紫色的放到空的杯子   在把红的放到紫色原来的杯子   再把 ...

  4. 10-20C#基础---一维、二维数组&&冒泡排序

    一.一维数组 1.定义:是某一种数据类型的数据的组合,数组用来分组基本类型或相同类型的对象.数组中的实体叫做数组的元素或成员. 2. 格式:int[ ] shuzu=new int[ 6];存放int ...

  5. C语言《一维数组的学习,冒泡排序》

    #include<stdio.h> /* 一维数组的学习,冒泡排序 soulsjie 20170623 */ void main(){ int a[6]; int i,j,k; print ...

  6. 060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序

    060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序 本文知识点:冒泡排序 冒泡排序 实际案例分析冒泡排序流程 第1轮比较: 第1轮比较的结果:把最 ...

  7. Day9 数组 冒泡排序及稀疏数组!

    数组 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.(下标从0开始) 数 ...

  8. C语言回顾-整型变量修饰符和一维数组

    1.整型变量修饰符 1)改变整型变量的存储空间 #include <stdio.h> int main(int argc, const char * argv[]) { //改变整型变量占 ...

  9. c语言操作一维数组-3

    C语言选择题#includemain(){double a[15],k;k=fun(a);} 则以下选项中错误的fun函数首部是 ( D)A.double fun(double a[15]) B.do ...

随机推荐

  1. C++-什么时候需要在类的构造函数中使用初始化列表

    1,如果基类没有default构造函数,则意味着其不能自己初始化.如果其被派生,派生类的构造函数要负责调用基类的构造函数,并传递给它需要的参数.下例中Base 2,如果类成员没有默认构造函数.下例中E ...

  2. “更高效率:标准化+简约风+移动化”--K2 BPM老客户交流会

    主题:工作流主数据标准化和移动工作流带来的企业沟通建设机会 嘉宾:李瑞延(盛大网络IT总监) 公司管理需要更好的工作流 -为决策提供依据 通过对各级业务公司各类流程数据的获取与分析,为管理决策提供必要 ...

  3. android 判断网络是否连接

    package com.liucanwen.baidulocation.util; import android.app.Activity; import android.content.Contex ...

  4. 1.6 suid/guid

    1.很系统供应商不允许使用这一命令,或者即使被置位,也会被忽略,这一命令会带来安全性风险. suid意味着该用户对自己的shell脚本设置了这种权限,那么其他用户执行该脚本时,也将拥有该用户相同的权限 ...

  5. c++形参和实参同名时,如何单步执行观察形参的变化。

    c++形参和实参同名时,如何单步执行观察形参的变化? 方法:当程序运行到函数中时,添加变量观察即可.

  6. 配置VS2010具有代码提示功能

    Visual Assist X是一款非常好的Microsoft Visual Studio插件,可以支持Microsoft Visual Studio 2003,Microsoft Visual St ...

  7. 子线程简单实现(ZT)

    4.0以后的android在主线程中不可以直接访问网络,就得用以下的方法来搞,嘿嘿 在主函数中发送一个空的消息 : new Thread(){ @Override public void run()  ...

  8. linux常用命令:3文件搜索命令

    文件搜索命令 1. 命令名:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find  [搜索范围]  [匹配条件] 功能描述:文件搜索 文件搜索类型 通过文件名搜索 -name ...

  9. VBS_DO...Loop

    循环用于重复执行一组语句.循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句. 在 VBScript 中可使用下 ...

  10. Android Priority Job Queue (Job Manager):线程任务的容错重启机制(二)

     Android Priority Job Queue (Job Manager):线程任务的容错重启机制(二) 附录文章4简单介绍了如何启动一个后台线程任务,Android Priority J ...