c#数组应用
发布网友
发布时间:2023-07-07 19:14
我来回答
共1个回答
热心网友
时间:2024-11-25 09:32
一个数组存成绩、又要存学号,那只能是以数组下标作为学号了。
但数组下标有个0,而学号没有0吧,不合适。
不过老师只是想让练下数组的运用而已,所以将就了。输出的时候得排除掉下标为0的元素。
//创建一个控制台工程项目,把代码复制到你的主函数里。
int[]scores=new int[4];
/*给数组赋值*/
for (int i = 1; i<4; i++)
{
Console.WriteLine("请输入该生学号:");
int id = int.Parse(Console.ReadLine());
Console.WriteLine("请输入该生成绩:");
scores[id] = int.Parse(Console.ReadLine());
}
/*找出最高分、最低分*/
int max = scores[1];
int min = scores[1];
int maxid = 1;//maxid表示最高分对应的学号
int minid = 1;
for (int i = 0; i < scores .Length; i++)
{
if (max < scores[i])//若max小于当前的scores[i],就把scores[i]赋给max
{
max = scores[i];
maxid = i; //i是对应的学号
}
}
for (int i = 1; i < scores.Length; i++)
{
if (min > scores[i])
{
min = scores[i];
minid = i;
}
}
Console.WriteLine("最高分:学号{0},成绩{1}",maxid,max);
Console.WriteLine("最低分:学号{0},成绩{1}",minid ,min);
/*降序输出所有成绩*/
Array.Sort(scores);//调用数组的排序函数Sort(),从小到大排
Array.Reverse(scores);//调用数组的反转函数,使得变成从大到小排序
for (int i = 0; i < scores.Length-1; i++)//输出排好序的数组元素
{
Console.Write(scores[i]+"、");
}
Console.Read();