我的代码没有问题啊,为啥在vs2012上只能输入3个数,而且还返回一些奇怪数字
这是主函数
double sum = 0;
double[] a = new double[10];
Console.WriteLine("请依次输入这10名同学的成绩:");
for (int i = 0; i < a.Length; i++)
{
a[i] = Console.Read();
sum += a[i];
} Console.WriteLine("这10名同学成绩的总分为:" + sum);
Console.WriteLine("这10名同学成绩的平均分为:" + (sum / 10));
这是主函数
double sum = 0;
double[] a = new double[10];
Console.WriteLine("请依次输入这10名同学的成绩:");
for (int i = 0; i < a.Length; i++)
{
a[i] = Console.Read();
sum += a[i];
} Console.WriteLine("这10名同学成绩的总分为:" + sum);
Console.WriteLine("这10名同学成绩的平均分为:" + (sum / 10));
// 摘要:
// 从标准输入流读取下一个字符。
//
// 返回结果:
// 输入流中的下一个字符;如果当前没有更多的字符可供读取,则为负一 (-1)。
//
// 异常:
// System.IO.IOException:
// 发生了 I/O 错误。
public static int Read();显然是用错了方法
你的数组.Sum()平均值的话,sum一下在除以你数组的长度就可以了
你的数组.Sum()/你的数组.Length;
class Program
{
static void Main(string[] args)
{
double sum = 0;
double[] a = new double[10];
Console.WriteLine("请依次输入这10名同学的成绩:");
for (int i = 0; i < a.Length; i++)
{
a[i] = Convert.ToDouble(Console.ReadLine());
sum += a[i];
} Console.WriteLine("这10名同学成绩的总分为:" + sum);
Console.WriteLine("这10名同学成绩的平均分为:" + (sum / 10));
Console.ReadKey();
}
}看到是什么问题了吧,把Console.Read();改成Console.ReadLine();
读取的是一个字符,如果你输入的是100,那么只能读到1,0,0,也就是3个。