// 所有学生姓名数组
string[] names = {"景珍","林惠洋","成蓉","洪南昌","龙玉民","单江开","田武山","王三明" };
// 所有学生分数数组
int[] scores = new int[]{90,65,88,70,46,81,100,68};
// 总分 平均分
int sum = 0, avg;
// 遍历数组求学生总分
foreach (int i in scores) {
sum += i;
}
// 通过总分获得平均分数
avg = sum/scores.Length;
// 高于平均分的学生姓名集
string student = null;
for (int i = 0; i < scores.Length; i++) {
// 比较学生分数和平均分
if (scores[i] > avg) {
// 将高于平均分的学生姓名加入姓名集
student = student + " " + names[i] + " ";
}
}
// 打印结果
Console.WriteLine("平均分是" + avg + ",高于平均分的有:");
Console.WriteLine(student);
这个本来就没有错呀,可能你自己再操作时,编写错误了误把name写成names吧,我拷贝你的代码再程序中运行,然后换成name还是同样的结果,没有错啊,正确的,只是换个名称而已,且name又不是关键字,所以是可以的。
我改了没问题, 检查一下你的拼写;
```
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
//请在这里完善代码
// 所有学生姓名数组
string[] names = { "景珍", "林惠洋", "成蓉", "洪南昌", "龙玉民", "单江开", "田武山", "王三明" };
// 所有学生分数数组
int[] scores = new int[] { 90, 65, 88, 70, 46, 81, 100, 68 };
// 总分 平均分
int sum = 0, avg;
// 遍历数组求学生总分
foreach (int i in scores)
{
sum += i;
}
// 通过总分获得平均分数
avg = sum / scores.Length;
// 高于平均分的学生姓名集
string name = null;
for (int i = 0; i < scores.Length; i++)
{
// 比较学生分数和平均分
if (scores[i] > avg)
{
// 将高于平均分的学生姓名加入姓名集
name = name + " " + names[i] + " ";
}
}
// 打印结果
Console.WriteLine("平均分是" + avg + ",高于平均分的有:");
Console.WriteLine(name);
}
}
}
```