C#笔试题(编程方面,不断更新)

来源:互联网 发布:line聊天软件 官方网站 编辑:程序博客网 时间:2024/04/30 08:33

1. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现
答:

public class MainClass
{
    
public static void
 Main()
    {
        Console.WriteLine(Foo(
30
));
    }
    
public static int Foo(int
 i)
    {
        
if (i <= 0
)
            
return 0
;
        
else if (i > 0 && i <= 2
)
            
return 1
;
        
else return Foo(i - 1+ Foo(i - 2
);
    }
}

2. 请编程实现一个冒泡排序算法?

int [] array = new int;
int temp = 0
 ;
for (int i = 0 ; i < array.Length - 1 ; i++
)
{
    
for (int j = i + 1 ; j < array.Length ; j++
)
    {
        
if (array[j] <
 array[i])
        {
            temp 
=
 array[i];
            array[i] 
=
 array[j];
            array[j] 
=
 temp ;
        }
    }
}

3. 求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+……+m
答:

int Num = this.TextBox1.Text.ToString();
int Sum = 0
;
for (int i = 0; i < Num + 1; i++
)
{
    
if ((i % 2== 1
)
    {
        Sum 
+=
 i;
    }
    
else

    {
        Sum 
= Sum - I;
    }
}
System.Console.WriteLine(Sum.ToString());
System.Console.ReadLine();

0 0
原创粉丝点击