C#实现杨辉三角
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wzcsying.blog.51cto.com/284684/53767 |
学习了一段时间的C#,做了个杨辉三角的题目来测试一下自己,没想到竟然做出来了。当年学习JAVA的时候没能把杨辉三角的题目很好的做出来,现在可以了,心中好不高兴。
也不知道有没有更好的实现办法,如果有的话,请知道的朋友告诉我吧。
using System;
using System.Collections.Generic; using System.Text; namespace yanghuisanjiao
{ class yanghui { static void Main(string[] args) { int i = 10; yanghui yh = new yanghui(); yh.yanghuisanjiao(i); Console.ReadLine(); } void yanghuisanjiao(int i)
{ int[,] ArrayData = new int[i+1,2*i+1]; //设定数组元素全部为零
for (int j = 0; j <= i; j++) { for (int k = 0; k <= 2 * i; k++) { ArrayData[j, k] = 0; } } ArrayData[0,i] = 1;
ArrayData[i, 0] = 1; ArrayData[i, 2 * i] = 1; for (int j = 1; j <= i; j++) { for (int k = 0; 2*k-j < i; k++) { if(i-j+2*k-1>=0&&2*k+1-j<=i) ArrayData[j, i - j + 2 * k] = ArrayData[j - 1, i - j + 2 * k - 1] + ArrayData[j - 1, i - j + 2 * k + 1]; } } for (int j = 0; j <= i; j++)
{ for (int k = 0; k <= 2 * i; k++) { if (ArrayData[j, k] == 0) Console.Write(" "); //else if (ArrayData[j, k] < 10) // Console.Write(ArrayData[j, k] + " "); else Console.Write(ArrayData[j, k]); } Console.WriteLine(); } } } } 有一个地方是可以在修改一下的,就是对i的赋值,可以通过读取来做,不过很简单,自己也懒得做,就这样吧。 本文出自 “烧赤壁的博客” 博客,请务必保留此出处http://wzcsying.blog.51cto.com/284684/53767 本文出自 51CTO.COM技术博客 |


wzcsying
博客统计信息
热门文章
最新评论
友情链接
