本帖最后由 zhl406893081 于 2014-3-5 14:52 编辑
求教,这是我自己编写的一个程序,当line输入超过77时输出的菱形会走样,为什么?完全想不懂.
- static void Main(string[] args)
- {
- //确定菱形的宽度
- Console.WriteLine("请输入所需菱形的对角线的长度(大于1的奇数),输入后按任意键结束.");
- int line = Convert.ToInt32(Console.ReadLine());
- //如果输入数字为偶数或小于2时,则返回输入错误
- if (line % 2 == 0 || line < 2)
- {
- Console.WriteLine("输入有误,请按任意键退出后重新输入.");
- Console.ReadKey();
- }
- //输入正确开始算法
- else
- {
- //输出菱形就是循环输出" "与*
- //输出上三角
- for (int i = 1; i < line / 2 + 2; i++)
- {
- for (int j = 1; j <= (line + 3) / 2 - i; j++)
- Console.Write(" ");
- for (int k = 1; k <= i * 2 - 1; k++)
- Console.Write("*");
- Console.WriteLine(" ");
- }
- //输出下三角
- for (int i = 1; i <= line / 2; i++)
- {
- for (int j = 0; j <= i; j++)
- Console.Write(" ");
- for (int k = 1; k <= line - 2 * i; k++)
- Console.Write("*");
- Console.WriteLine(" ");
- }
- Console.WriteLine("一个对角线为{0}的菱形.",line);
- Console.ReadKey();
- }
- }
复制代码 |