用c#编学生成绩统计?
要求是每个分数段内显示人数如:
0-59:xxx人
60-69:xx人急!

解决方案 »

  1.   


    int[] stuGrad;
    stuGrad=new int[100];for(int i=0;i<stuGrad.Length;i++)
    {
    if()
    }
      

  2.   

    数据源是什么?sql数据库 or excel or Access?
      

  3.   


    int[] stuGrad = new int[]{58,59,60,61,62};
    int moreThan = 0
    int lessThan
    for(int i = 0;i<stuGrad.Length;i++)
    {
    if(0<strGrad[i]<60)
    {
    lessThan++;
    }
    else if(strGrad[i]<70)
    {
    moreThan++
    }
    }
    Console.WriteLine("0-50:{0}",lessThan);
    Console.WriteLine("60-69:{0}",moreThan);
      

  4.   

               Int32[] counters = new Int32[5];            String str;
                Console.WriteLine("输入分数(-1结束)");
                while (true)
                {
                    str = Console.ReadLine();
                    Int32 i = Convert.ToInt32(str);
                    if (i == -1)
                        break;
                    Int32 ci = i / 10;
                    if (ci == 10)
                        ci--;                if (ci <= 5)
                        counters[0]++;
                    else
                        counters[ci - 5]++;
                    
                }            Console.WriteLine("0-59 : {0}人",counters[0]);
                Console.WriteLine("60-69 : {0}人", counters[1]);
                Console.WriteLine("70-79 : {0}人", counters[2]);
                Console.WriteLine("80-89 : {0}人", counters[3]);
                Console.WriteLine("90-100 : {0}人", counters[4]);
      

  5.   

    如果是关系数据库,为什么不用SQL语句呢,这样速度更快些比如查 select count(*) as 分数0到59 from table where 分数>0 and 分数<=59 ,以此类推,这样几条语句全部搞定。
      

  6.   

    方案一:类似5楼(LessThanJiGe;MoreThanJiGe)
    方案二:用SQL实现
          select count(*) as Result from (select (case when score<=59 then 0 else 1 end) as JiGe) from M_Student) a group by a.JiGe
    注:0代表不及格 ,1代表及格
    结果Example:
        Result
         32
         168