using System;
namespace 杨辉三角
{
class Program
{
const int num = 1;
static void Main(string[] args)
{
int n;
int upnum = 1;
int count = 1;//排序时需要记数字的个数
int sum = 0;//计算数字个数时的中间变量
Console.WriteLine("请输入n值");
n = int.Parse(Console.ReadLine());
while (n > 13)
{
Console.WriteLine("您输入的n值大于13,请重新输入");
n = int.Parse(Console.ReadLine());
}
for (int i = 1; i < n; i++)
{
upnum = 1;//每次循环upnum重新赋值,因为每行的第一个数字都是1
for (int j = n; j > i; j--)
{
Console.Write(" ");//两个空格
}
if (i != 1)
{
Console.Write("{0}", num);//每行第一个1
for (int m = 1; m <= i - 2; m++)//i-2代表的是前两行不需要算值,只需要输入第一个1和最后一个1
{
sum = upnum = (i - m) * upnum / m;
while (sum >= 10)
{
sum /= 10;
count++;
}
if (count == 3)
{
Console.Write(" {0}", upnum);
count = 1;
}
else if (count == 2)
{
Console.Write(" {0}", upnum);
count = 1;
}
else
{
Console.Write(" {0}", upnum);
count = 1;
}
}
Console.WriteLine(" {0}", num);//每行最后一个1
}
else//第一行的一个1
{
Console.WriteLine("{0}", num);
}
}
Console.ReadKey();
}
}
}
杨辉三角
最新推荐文章于 2022-05-29 23:00:00 发布