已经自己更改好了,嘿嘿。
using System;
using System.Collections.Generic;
using System.Text;
namespace projGetMaxScore
{
class Program
{
static void Main(string[] args)
{
//声明string数组。
string[,] S = new string[8, 2] { { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "91" }, { "何昆", "93" }, { "关欣", "85" } };
//声明缓存数组。
string[] C = new string[2];
//for循环.
for (int i = 0; i < S.GetLongLength(0); i++)
{
//缓存数组与string数组元素转换为int型.
int a = Convert.ToInt32(C[1]);
int b = Convert.ToInt32(S[i,1]);
//与缓存数组循环比较大小.
if (a < b)
{
//最大值赋值给缓存数组。
C[0] = S[i, 0];
//赋值前转换回string.
C[1] = Convert.ToString(a);
S[i, 1] = Convert.ToString(b);
C[1] = S[i, 1];
}
else
continue;
}
//输出
Console.Write("分数最高的是" + C[0] +","+ "分数是" + C[1]);
}
}
}
我写得好像有点太冗余了。
using System;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string[] names = new string[8] { "吴松","钱东宇", "伏晨", "陈陆", "周蕊","林日鹏", "何昆", "关欣" };//声明names数组
int[] score = new int[8] { 89, 90, 98, 56, 60, 91, 93, 85 };//声明score数组
int max = 0;//声明最高分,默认值为0
int j = 0 ;//声明j,j是表示最高分的索引
//用循环求出最高分max
for (int i = 0; i < names.Length; i++)
{
if(max<score[i])
{
max=score[i];
j=i;//将最高分的索引赋值给j
}}
Console.Write("分数最高的是"+names[j]+",分数是"+max);
}}}
用分两组的方法比较简单 而且更加明了