李志祥 发表于 2012-4-1 10:03
flag 不需要制成true
的时候好像不会输出最后这句程序
Console.WriteLine("五个人的平均年龄是{0}", sum ...
他忘了将flag的初始值设为true,所以不会输出最后那句。改成这样就OK了:
int age = 0;
int sum = 0;
int i;
bool flag = true; \\初始为true
for ( i = 0; i < 5; i++)
{
Console.WriteLine("输入第{0}个人的年龄", i + 1);
try
{
age = Convert.ToInt32(Console.ReadLine());
if (age < 0 || age >= 100)
{
Console.WriteLine("输入的年龄不合法,错误,程序终止");
flag = false;
break;
}
sum = sum + age;
}
catch
{
Console.WriteLine("输入的年龄不是数字,错误,程序终止");
flag = false;
break;
}
}
if(flag) //flag在没有输入错误的情况下值还是初始时的true
{
Console.WriteLine("五个人的平均年龄是{0}", sum / 5);
}
Console.ReadKey(); |