2 qq 24447185 qq_24447185 于 2014.12.17 08:56 提问

最近学的这个C#,还存在问题。帮我看到题。谢谢
c#
  1. 输入一个班n名学生(n由键盘输入)的C#课程成绩,输出超过平均成绩(含平均成绩)的学生人数及低于平均成绩的学生人数。

10个回答

devmiao
devmiao   Ds   Rxr 2014.12.27 21:30

http://ask.csdn.net/questions/158506
和这个问题完全一样

devmiao
devmiao   Ds   Rxr 2014.12.27 21:30

这是一个非常简单清晰的回答,可以得90分。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            List<float> list = new List<float>();
            for (int i = 0; i < n; i++)
            {
                list.Add(float.Parse(Console.ReadLine()));
            }
            float avg = list.Average();
            Console.WriteLine("超过(含等于)人数" + list.Count(x => x >= avg));
            Console.WriteLine("低于人数" + list.Count(x => x < avg));
        }
    }
} 
devmiao
devmiao   Ds   Rxr 2014.12.27 21:28

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

    //using System.Linq; 

    static void Main(string[] args) 

    { 

        Console.WriteLine("请输入学生数量,并以回车结束:"); 

        int n = Convert.ToInt32(Console.ReadLine()); 

        List<float> marks = new List<float>(); 

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

        { 

            Console.WriteLine("请输入第{0}位学生的成绩,并以回车结束:", i + 1); 

            float m = Convert.ToSingle(Console.ReadLine()); 

            marks.Add(m); 

        } 

        float ave = marks.Average(); 

        int above = marks.Count(x => x >= ave); 

        int below = marks.Count(x => x < ave); 

        Console.WriteLine("{0}位成绩大于等于平均数", above); 

        Console.WriteLine("{0}位成绩小于平均数", below); 

        Console.ReadLine(); 

    } 
lx624909677
lx624909677   Ds   Rxr 2014.12.17 09:40

数组会创建吗?int num[100];这样就是创建了一个数组,然后给数组输入内容会吗?不会看书书上肯定有,然后就是 用一个for循环来求合以及平均数,之
后。再循环一次拿平均数和数组中的每一个元素做比较即可

qq_24447185
qq_24447185 那个数组怎么建立啊?我还是不太懂。我的书上没有这个数组这方面的。
接近 3 年之前 回复
q107770540
q107770540   Ds   Rxr 2014.12.17 10:21

这是一个最简单的控制台应用程序,通过console.readkey获取输入值,后边在代码处理

这个通过查找书本里的知识可以完成,在这里你不会得到直接的代码

qq_24447185
qq_24447185 你可不可以给我具体讲一讲啊?我还是不太会。谢谢。好吗?
接近 3 年之前 回复
bdmh
bdmh   Ds   Rxr 2014.12.17 09:02

把所有数据放到一个数组里,然后自己求和计算平均数,然后逐个比较,难道这个不会?

qq_24447185
qq_24447185 刚学的,上课时没听到老师讲。所以还不太懂。。
接近 3 年之前 回复
xianfajushi
xianfajushi   2014.12.17 09:58

http://blog.csdn.net/xianfajushi/article/details/25134799
几个例子其实道理都一样只是不同语言语句写法不同

zaxheartless
zaxheartless   2014.12.17 11:23

书上应该会有类似的小例子,看懂了就差不多了,挺简单的,再不行就百度看看有没有相关的内容吧。

softManage
softManage   2014.12.27 20:49

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//输入一个班n名学生(n由键盘输入)的C#课程成绩,
//输出超过平均成绩(含平均成绩)的学生人数及低于平均成绩的学生人数。
namespace Score
{
class Program
{
private static int[] score = new int[5];
static void Main(string[] args)
{
int sumScore = 0;
int count = 0;
Console.WriteLine("请输入5名学员的C#考试成绩(每行一个):");
//循环录入学生成绩
for (int i = 0; i < score.Length; i++)
{
score[i] = int.Parse(Console.ReadLine());
sumScore += score[i]; //累加总分
}
//计算平均分
double avgScore = sumScore / score.Length;

        Console.WriteLine("-------------------");
        Console.WriteLine("成绩低于平均分'{0}'的成绩分别是:", avgScore);
        //遍历数组,寻找成绩低于平均分的人
        for (int i = 0; i < score.Length; i++)
        {
            if (score[i] <= avgScore)
            {
                Console.Write(score[i]+"\t");
                count++;  //累加低于平均分的人数
            }
        }
        Console.WriteLine("\n成绩低于平均分的人数为:{0}人",count);

        Console.Read();
    }
}

}


演示代码. 复制就可以使用了(记得改命名空间) , 自己复制下来好好琢磨一下

softManage
softManage   2014.12.27 20:51
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//输入一个班n名学生(n由键盘输入)的C#课程成绩,
//输出超过平均成绩(含平均成绩)的学生人数及低于平均成绩的学生人数。
namespace Score
{
    class Program
    {
        private static int[] score = new int[5];
        static void Main(string[] args)
        {
            int sumScore = 0;
            int count = 0;
            Console.WriteLine("请输入5名学员的C#考试成绩(每行一个):");
            //循环录入学生成绩
            for (int i = 0; i < score.Length; i++)
            {
                score[i] = int.Parse(Console.ReadLine());
                sumScore += score[i];  //累加总分
            }
            //计算平均分
            double avgScore = sumScore / score.Length;

            Console.WriteLine("-------------------");
            Console.WriteLine("成绩低于平均分'{0}'的成绩分别是:", avgScore);
            //遍历数组,寻找成绩低于平均分的人
            for (int i = 0; i < score.Length; i++)
            {
                if (score[i] <= avgScore)
                {
                    Console.Write(score[i]+"\t");
                    count++;  //累加低于平均分的人数
                }
            }
            Console.WriteLine("\n成绩低于平均分的人数为:{0}人",count);

            Console.Read();
        }
    }
}


(刚才没发好, 重发一遍)
演示代码. 复制就可以使用了(记得改命名空间) , 自己复制下来好好琢磨一下

Csdn user default icon
上传中...
上传图片
插入图片