SansanCat
2017-06-24 15:37
if (String.Compare(info[i, 1], score) > 0) { score = info[i, 1]; name = info[i, 0]; 请问这串代码代表什么?
你好,这个题目 可以分成2个数组来写,也可以直接用一个二维数组来写。我看你的代码,应该是用二维数组写的。
那我说下二维数组的原理: 先声明一个二维数组[8,2]. 第一位是放名字,第二位是放分数。
如果一个人的名字的下标是 info[i, 0],那么他的分数就是info[i, 1]了;
先把第一个人的分数 赋值给score ,把第一个人的名字赋值给name;
然后,用score的值 依次与每个分数相比较,如果发现比score 大的话,那就说明此时下标对应的分数比score 还大,那么就把此时下标对于的分数 赋值给score ,同时也要把name的值从新赋值;如果没有score 大,就直接比较下一个就可以了。
循环比较一遍后,此时的score 就是最大值了,name的值也就是对应的人名。
代码:
String[,] info = new String[,] { { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "林日鹏", "60" }, { "何昆", "91" }, { "关欣", "93" }, { "吴松", "85" } }; string name = info[0, 0]; string score = info[0, 1]; for (int i = 1; i < info.Length / 2; i++) { if (String.Compare(info[i, 1], score) > 0) { score = info[i, 1]; name = info[i, 0]; } } Console.WriteLine(name + "的分数最大,分数为" + score);
不知道我这样讲,你明白不,如果有回复我,祝你学习顺利!
string[] students=new string[]{"吴松","钱东宇","伏晨","陈陆","林日鹏","何昆","关欣"};
int[] scores=new int[]{89,90,98,56,60,91,93,85};
int max=scores[0];
for(int i=0;i<scores.Length;i++)
{
if(scores[i]>max)
{
max=scores[i];
int j=i;
}
}
Console.WriteLine("分数最高的是"+students[j]+",分数是"+scores[j]);
C#开发轻松入门
254118 学习 · 1459 问题
相似问题