慕无忌6385260
2017-03-18 19:33
static void Main(string[] args)
{
int max=0;
int t=0;
string [,]a=new string[8,2]={ { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "9" }, { "何昆", "93" }, { "关欣", "85" } };
for(int i=0;i<=a.GetLongLength;i++){
if(max<Convert.ToInt32(a[i,1])){
max=Convert.ToInt32(a[i,1]);
t=i;
}
}
Console.WriteLine("分数最高的为:{0},分数是{1}",max,a[i,1]);
}
——————————————————————————————————————————
为什么提示{ { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, {
"周蕊", "60" }, { "林日鹏", "9" }, { "何昆", "93" }, { "关欣", "85" } }; 是无效表达式项呢,
int max = 0; int t = 0; string[,] a = new string[8, 2] { { "吴松","89" },{ "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "9" }, { "何昆", "93" }, { "关欣", "85" } }; Console.WriteLine("a的长度:"+a.Length); for (int i = 0; i < a.Length/2; i++) { if (max < Convert.ToInt32(a[i, 1])) { max = Convert.ToInt32(a[i, 1]); t = i; } } Console.WriteLine("分数最高的为:{0},分数是{1}", max, a[t, 1]);
你好,第一行:
new string[8,2]=
后面的= 不应该加, 需要删掉;
第二:a的长度,不是8,也不是2,而是16,如果按你之前写的话,会数组越界,所以需要改成16的一半,也就是a的长度除以2;
第三,数组的长度 用a.Length 就可以了
第四:最后一行:
Console.WriteLine("分数最高的为:{0},分数是{1}",max,a[i,1]);
a[i,1]需要改成a[t, 1], i因为你是在for循环中定义的,所以在for循环以外,i就不能用了。
祝你学习顺利!
赋初值的{}前没有=号
C#开发轻松入门
254118 学习 · 1459 问题
相似问题