昨天去面试,碰到这样一问题:
请写一段程序,打印结果如下:
1
2 1
3 2 1
4 3 2 1
不知道这个考点是什么, 该如何回答?
递归。。
public static void Fun_A(int i)
{
#region 处理方法
string temp = string.Empty;
for (int j = i; j >= 1; j--)
{
temp += j.ToString();
}
Console.WriteLine(temp);
#endregion
if (i == 1) { return; }//结束条件
if (i > 1) { Fun_A(i - 1); }
}
顺便也给我一点分吧!!
考察算法,这问题感觉跟高中数学题一样,蛋疼!,我昨天也面试问些基础的东西还能接受。让打出个这个,估计知道公式推理可以打印出,不知道真得一会捣鼓
面试总要让你做些东西吧,不一定非要有考点,就是一道普通的题目,做出来就行了哇,有时候面试时也不用做什么题目呀
for (int i = 1; i <= 4; i++)
{
for (int j = i; j < 4; j++)
{
Console.Write(" ");
}
for (int k = 0; k < i; k++)
{
Console.Write(i - k);
}
Console.WriteLine();
}
记得给豆我呀
程序员不会写“摧毁巴格达”的程序,他们只会写“摧毁城市”这个程序,然后把“巴格达”作为参数传进去。
@水牛刀刀: 木有听懂你说的啥,你是说要把参数传进去么,要实现什么目的,做什么事不行么
@*^__^*: 你觉得这个程序对么
Console.WriteLine(" 1"); Console.WriteLine(" 2 1"); Console.WriteLine(" 3 2 1"); Console.WriteLine("4 3 2 1");
@水牛刀刀: 我现在的水平只能写这样的东西 ,当然你要是愿意说,俺还是可以听听的,对不对先不谈,楼主的要求还是可以实现的,而且我觉得两个月后,两年后,我写出来的肯定不是这样的了
static void Main(string[] args) { Print(4); Console.Read(); } static void Print(int max) { for (int i = 1; i <= max; i++) { Console.WriteLine(string.Join(" ", from n in Enumerable.Range(1, max) let m = max - n + 1 select m > i ? " " : m.ToString())); } }