本帖最后由 Doublekill 于 2014-3-16 07:22 编辑
while (true)
{
try
{
int n = Convert.ToInt32(Console.ReadLine());
if (n % 2 !=0)//如果输入的是奇数
{
//上半三角
for (int j = 1; j <= n / 2 + 1; j++)
{
for (int k = 1; k <= (n / 2 + 1) - j; k++)
{
Console.Write(" ");
}
for (int m = 1; m <= 2 * j - 1; m++)
{
Console.Write("*");
}
Console.WriteLine();
}
//下半三角
for (int a = 1; a <= n % (n / 2 + 1); a++)
{
for (int b = 1; b <= a; b++)
{
Console.Write(" ");
}
for (int c = 2 * (n % (n / 2 + 1)) - a; c >= a; c--)
{
Console.Write("*");
}
Console.WriteLine();//换行输出
}
}
else
{
Console.WriteLine("必须输入奇数");
}
}
catch
{
Console.WriteLine("输入有误");//输入的不是数字
continue;
}
Console.ReadKey();
}
当第一次输入5,他显示5行。第二次在输入5就报错!!!怎么回事啊 |
|