学习笔记(一):数组

一、数组定义格式

  一维数组:数据类型 [] 变量名称

  二维数组:数据类型 [,] 变量名称

  创建数组的格式:

  例:一、  int [] arr; //声明一个数组,但并不存在

       arr=new int[3];//中括号中为数组长度

       arr[0]=10;

       arr[1]=20;

       arr[2]=30;

    二、 int [] arr=new int[3]{10,20,30};

    三、 int [] arr={10,20,30};

二、两道练习题

  1.随即输入几个数,求其中最大连续数的和

    int [] arr=new int [5];  //创建一个一维数组存放输入的数据

    for(i=0;i<5;i++)     //输入5个数

    {

      Console.WriteLine("请输入一个整数:");

      arr[i]=int.Parse(Console.ReadLine());

    }

    int [] sec=new int[5];  //创建一个数组存放第一个数组中连续数的和

    int sum=0;

    int index=0; //第二个数组的下标

    bool isSeries=false;

      for(int i=0;i<arr.Length-1;i++)   //此处 i<arr.Length-1 是为了防止数组越界

    {

      if(arr[i]+1==arr[i+1]) 

      {

        //两个数连续

        sum+=arr[i];

        isSeries=true;

      }

      else

      {

        if(isSeries)

        {

          sum+=arr[i];

          sec[index++]=sum;

          sum=0;

          isSerise=false;

        }

      }

    }

    if(isSerise)//判断最后一个数是否连续,如果连续加上最后一个数

    {

      sec[index++]=sum+arr[arr.Length-1];

    }

    int max=0;

    for(i=0;i<index;i++)

    {

      if(sec[i]>max)

      {

        max=sec[i];

      }

    }

    Console.WriteLine(max);

  2.找出某一字符串中出现次数最多的英文字母,返回这个字母及其个数

    Console.WriteLine("请输入一串字符串:");

    string str=Console.ReadLine();

    object [,] obj = new obj[26,2];  //创建一个二维数组,存放字母和字母出现的次数

    int index=0;

    foreach(char c in str)

    {

      bool isExist=false;

      for(int i=0;i<index;i++)

      {

        if( (char) obj[i,0] == c )  //如果有相同的字符

        {

          obj[i,1]=int.Parse(obj[i,1].ToString())+1;

          isExist=true;

          break;

        }

      }

      if(!isExist)    //没有相同字符

      {

        obj[index,0]=c;

        obj[index++,1]=1;

      }

    }

    char maxChar=' ';

    int max=0;

    for(int i=0,i<index;i++)

    {

      if( int.Parse(obj[i,1].ToString()) > max )

      {

        max=int.Parse(obj[i,1].ToString());

        maxChar=(char) obj[i,0];

      }

    }

    Console.WriteLine("输入的字符串为{0},重复最多的字符是{1},次数为{2}",str,maxChar,max);

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2011-09-28 09:18  L.M  阅读(223)  评论(0编辑  收藏  举报