一次考试,各位同学的姓名和分数如下:
请编写程序,输出分数最高的同学的姓名和分数。运行效果如下:
记录下,最上面的二维数组的厉害了,
if(int.Parse(info[i,1])>int.Parse(info[temp,1]))//用parse转换成整形,进行循环比较 temp初始为0,条件为真则temp值加1,第一次循环[0,1],和[0,1] 比较条件为false,i+1,而temp不变,之后 [(I)1,1]和[(temp)0,1]比较为真,temp变成1,之后i继续循环,temp变成2,循环终止后,temp还是2.
temp+1
打印的是temp值,
string[,] info = new string[8, 2] { { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "9" }, { "何昆", "93" }, { "关欣", "85" } };
int temp=0;
for(int i=0;i<info.GetLongLength(0);i++)
{
if(int.Parse(info[i,1])>int.Parse(info[temp,1]))
{
temp=i;
}
}
Console.Write("分数最高的是" + info[temp, 0] + ",分数是" + info[temp, 1]);
string[,] a = new string[2, 8] { { "吴松", "钱东宇", "伏晨", "陈陆", "周蕊", "林日鹏", "何昆", "关欣" }, { "89", "90", "98", "56", "60", "91", "93", "85" } };
int record=0;
int max=0;
//获取二维数组里面第二个数组的长度GetLength(1)
for (int i = 0; i < a.GetLength(1); i++)
{
//int.Parse强制转换成int类型
if (int.Parse(a[1, i]) > max)
{
max = int.Parse(a[1, i]);
record = i;
}
}
Console.Write("分数最高的是" + a[0, record] + ",分数是" + a[1, record]);
你说的是用二维数组做出来吗?像这样?
string[] name = { "吴松", "钱东宇", "伏晨", "陈陆", "周蕊", "林日鹏", "何昆", "关欣" };
int[]score = { 89,90,98,56,60,91,93,85};
int max = score[0];
int record = 0;
for (int i = 1; i < score.Length; i++) {
if (score[i]>max) {
max = score[i];
record = i;
}
}
Console.Write("分数最高的是{0},分数是{1}" + name[record], max);
那个 亲,首先谢谢您啊~~然后我再问下那个,我没理解错的话这个应该是声明的两个数组的方式·~
亲,你会那种声明 string[,] a = new string[,]{~~~~~};
这种二维的吗??
string[] x = { "吴松", "钱东宇", "伏晨", "陈陆", "周陆", "周蕊", "林日鹏", "何昆", "关欣" };
int[] y = { 89, 90, 98, 56, 60, 91, 93, 85 };
int max;
max = 0;
string name;
name = null;
for (int i = 0; i < y.Length; i++)
{
if (y[i] > max || max == 0)
{
max = y[i];
name = x[i];
}
}
Console.WriteLine("分数最高的是{0},分数是{1}", name, max);
Console.ReadLine();
}
那个 亲,首先谢谢您啊~~然后我再问下那个,我没理解错的话这个应该是声明的两个数组的方式·~
亲,你会那种声明 string[,] a = new string[,]{~~~~~};
这种二维的吗??
string[] a = new string[] { "吴松", "钱东宇", "伏晨", "陈陆", "周蕊", "林日鹏", "何昆", "关欣" };
int[] b = new int[] { 89, 90, 98, 56, 60, 91, 93, 85 };
int max = 0;
string name = null;
for (int i = 0; i < b.Length; i++)
{
if (b[i] > max)
{
max = b[i];
name = a[i];
}
}
Console.Write("分数最高的是{0},分数是{1}", name, max);
定义一个string数组存放姓名,一个int数组存放成绩,然后定义一个最大值max,用for循环嵌套if比较大小把最大值赋给max,并把最大值的索引给姓名数组。