namespace 三角形排列
{
class Program
{
static void Main(string[] args)
{
int x,i,j;
Console.WriteLine("请输入你要排列的行数:");
x = int.Parse(Console.ReadLine());//ReadLine默认输入string型数据类型,强制转化成int型
double[,] Trangle = new double[x,x];//初始化一个数组
for(i=0;i<x;i++)
{
for (j = 0; j < x; j++)
if (i >= j)//判断是否在对角线的左边部分
Trangle[i, j] = Math.Pow(i + 1, j + 1);//输出三角形对角线的左下部分
else
Trangle[i, j] = 0;//输出三角形对角线右上部分,并且置0
}
for(i=0;i<x;i++)
{
for (j = 0; j <= i; j++)//根据题目要求舍去三角形对角线右上部分,选择左下部分输出
Console.Write("{0}" + " ", Trangle[i, j]);//用Write不换行
Console.WriteLine();//换行
}
Console.ReadKey();//运行命令暂停,可查阅
}
}
}
原题:
编写一个控制台应用程序,利用数组编写程序实现下列图形。
备注:Math.Pow(i,j)功能表示求i的j次方。
思路:
- 先排列一个正方形,每个位置都赋值
- 根据题意得,正方形对角线以右部分舍去-------将排列的正方形按对角线分成两部分,右部分赋值为0,左半部分根据Math.Pow方法输出如图所示
- 最后循环只输出左半部分,舍去右半部分的输出