using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _12233444555
{
class Program
{
static void Main(string[] args)
{
try
{
Program pro = new Program();
Console.Write("请输入N的值:");
int n = Convert.ToInt16(Console.ReadLine());
pro.num_triangle(n);
}
catch
{
Console.WriteLine("您输入的不是自然数~");
Console.WriteLine("=============================== End =============================\r\n");
}
Console.Read();
}
void num_triangle(int n)
{
int a = 1;
for (int i = 1; i <= n; i++) //控制行数
{
for (int j = 0; j < i; j++) //控制每行输出数字
{
if (i == 1)
{
Console.Write(a);
}
else
{
++a;
for (int h = 0; h < i; h++) //控制每个数字输出次数
{
Console.Write(a);
}
Console.Write("\t");
}
}
Console.WriteLine("\r");
}
}
}
}
@自由而无用: 今天写一个算法,怎么也写不出来,于是回来看到这个算法,想着从简单的再写一遍,找找感觉,然后就又按照你的这个题目写了一下,写完跟以前的比对了一下,发现没什么,两个算法同时一运行,问题出来了,一年前的这个算法是有问题的,凑巧打印出10个数是正常的,符合你的题目,但是超过10个就错了,然后看了下我今天写的程序,发现是对的。无意间的问题,无意间的发掘,看了下日期,好巧合,正好一年了。贴上新的算法:
public static void triangle(int n)
{
int a = 1;
for (int i = 1; i <= n; i++)
{
for (int j = 0; j < i; j++)
{
for (int k = 1; k <= i; k++)
{
Console.Write(a);
}
Console.Write("\t");
a++;
}
Console.Write("\r\n");
if (a > n)
{
return;
}
}
}