1.代码(主函数体)
static void Main(string[] args)
{
float[] a = new float[5];
for (int i = 0; i < a.Length;)
{
Console.WriteLine("请输入第{0}个学生成绩:", i + 1);
float f = float.Parse(Console.ReadLine());
if (f < 0 || f > 100) Console.WriteLine("成绩有误请重新输入");
else a[i++] = f;
}
Console.WriteLine("所有成绩如下:");
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("第{0}个学生的成绩是:{1}", i + 1, a[i]);
}
Console.WriteLine("最高分为:{0}", GetMax(a));
}
//找出数组中的最大值
private static float GetMax(float[] array)
{
float max = 0;
for (int i = 0; i < array.Length; i++)
{
if (array[i] > max)
{
max = array[i];
}
}
return max;
}
2.运行结果
程序对999这个异常数据提示重新输入。
3.原理
3.1.怎样实现输入错误继续输入
(1)可以将for循环的自加判定放在最后(只有数据合理才能使i自增)
(2)第二种方法是在保持for不更改的情况下对输入错误的进行i自减来实现重新输入
3.2.实现对最高分的记录
先声明一个数A为最大值,之后对数组的数进行遍历,如果遇到比数A大的数B,则将数B赋值给A。