1.如何把一个Array复制到ArrayList里,如何把ArrayList复制到Array里?

foreach( object o in array )arrayList.Add(o);

ArrayList.ToArray

2.几种排序算法C#实现

冒泡排序

        public void Action(int[] array)
{
for (int a = ; a < array.Length; a++)
{
int item = ;
for (int b = array.Length - ; b > a; b--)
{
if (array[b] < array[b - ])
{
item = array[b];
array[b] = array[b - ];
array[b - ] = item;
}
}
}
}

直接插入排序

        public void Action(int[] array)
{
for (int i = ; i < array.Length; i++)
{
if (array[i] < array[i - ])
{
int tem = array[i];
int j = ;
for (j = i - ; j >= && tem < array[j]; j--)
{
array[j + ] = array[j];
}
array[j + ] = tem;
}
}
}

快速排序

        private void QuickSortArray(int[] arr, int low, int high)
{
int i = low;
int j = high;
int tmp = arr[low];
while (low < high)
{
while ((low < high) && arr[high] >= tmp)
{
--high;
}
arr[low] = arr[high];
while ((low < high) && arr[low] <= tmp)
{
++low;
}
arr[high] = arr[low];
--high;
}
arr[low] = tmp;
if (i < low - )
{
QuickSortArray(arr, i, low - );
}
if (j > low + )
{
QuickSortArray(arr, low + , j);
} }

简单选择排序

        public void Action(int[] array)
{
int tmp = ;
int t = ;//最小数标记
for (int i = ; i < array.Length; i++)
{
t = i;
for (int j = i + ; j < array.Length; j++)
{
if (array[t] > array[j])
{
t = j;
}
}
tmp = array[i];
array[i] = array[t];
array[t] = tmp;
}
}

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

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

4.输出?X=1;Y=2

class A
{
    public static int x;
    static A()
    {
        x = B.Y + 1;
    }
}

class B
{
    public static int Y = A.x + 1;
    static B()
    {

    }
    static void Main()
    {
        Console.WriteLine("X={0},Y={1}",A.x,B.Y);
        Console.Read();
    }
}

首先是字段Y,Y是int型,编译器初始化为0 ,然后Y为static,所以编译器接着执行B的静态构造函数,注意一点,构造函数只执行一次
在static B()里面,Y被赋值为A.X+1,编译器接着去找A.X的值,此时执行A的静态构造函数,x=B.Y+1,因为B的构造函数已经执行了,此时就不执行第二次,Y此时具有
值是0,所以X=1;然后返回Y=A.X+1,Y=2
所以答案就是X=1;Y=2;

5.有一个10个数的数组,计算其中不重复数字的个数。{3,5,9,8,10,5,3}

            int[] values = { , , , , , ,  };
HashSet<int> set = new HashSet<int>();
foreach (int i in values)
{
set.Add(i);
}
foreach (int i in set)
{
Console.WriteLine(i);
}

6.

程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)

要求: 1.要有联动性,老鼠和主人的行为是被动的。

2.考虑可扩展性,猫的叫声可能引起其他联动效应。

要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象
评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行
<2>从Mouse和Master中提取抽象
<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。

7.代码中有什么错误吗?请指出来

using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
}
抽象类是无法重载的
所以
public abstract override void F(); 错误
调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。 默认情况下,方法是非虚拟的。不能重写非虚方法。 virtual 修饰符不能与 static、abstract, private 或 override 修饰符一起使用。 除了声明和调用语法不同外,虚拟属性的行为与抽象方法一样。 * 在静态属性上使用 virtual 修饰符是错误的。
* 通过包括使用 override 修饰符的属性声明,可在派生类中重写虚拟继承属性。

8.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复

int[] arr = new int[];
for (int i = ; i < arr.Length; i++) arr[i] = i;
Random rnd = new Random();
Array.Sort(arr, delegate(int a, int b) { return rnd.Next(); });

C#笔试(程序设计)的更多相关文章

  1. 《JS高级程序设计》笔记 —— 解析查询字符串

    今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...

  2. 找工作笔试面试那些事儿(16)---linux相关知识点(1)

    linux这部分的知识倒不是笔试面试必考的内容,不过现在很多公司开发环境都在linux系统下,一些简单的知识还是需要了解一下的,笔试面试中万一碰到了,也不会措手不及.作为菜硕的我,又因为读研期间的项目 ...

  3. 找工作笔试面试那些事儿(8)---常问的CC++基础题

    这一部分是C/C++程序员在面试的时候会被问到的一些题目的汇总.来源于基本笔试面试书籍,可能有一部分题比较老,但是这也算是基础中的基础,就归纳归纳放上来了.大牛们看到一笑而过就好,普通人看看要是能补上 ...

  4. 笔试总结篇(一) : 广州X公司笔试

    一.单选题: Ps : 当时由于去广州路上颠簸很困,导致刚做几分钟题目就睡了一觉.起来发现20分钟过去了.擦擦! 1. 假设磁盘文件foobar.txt 由 6个ASCII 码字符“foobar” 组 ...

  5. 大IT公司笔试

    都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但 ...

  6. Efounds笔试

    Efounds的笔试~ 1.比较两个浮点数大小 一般不会直接用"=="或者"!="对两个浮点数进行比较. 判断两个浮点数float a 与 float b 是否 ...

  7. 字节跳动19春招研发第一次在线笔试-A卷

    结果:凉. 说明 此博客仅为笔试记录所用,如涉及版权或保密问题,请联系我及时删除. 联系方式:georgehu716@qq.com 1. 找零 时间限制:C/C++ 1秒,其他语言 2秒 空间限制:C ...

  8. (转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析

    C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析 http://www.nowcoder.com/discuss/1826?type=2&order=0&pos=23&p ...

  9. 20155202 2016-2017-2 《Java程序设计》第7周学习总结

    20155202 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 世界协调时间:UTC 采用 闰秒修正 Epoch为某特定时代开始,时间轴上某一瞬间 Unix ...

随机推荐

  1. Torch 7 load saved model failed, 加载保存的模型失败

    Torch 7 load saved model failed, 加载保存的模型失败: 可以尝试下面的解决方案:  

  2. ListMultimap 容器

    ListMultimap 最近翻flume源码,在用的容器.之前自己写代码的时候,还苦恼过有时候有这种需求,原来google的工程师都已经解决了这些问题,这很google. 记录下,有时间来总结下相应 ...

  3. XML 增删查改

    <?xml version="1.0" encoding="utf-8"?> <users> <person name=" ...

  4. linux mysql自动备份 和 数据恢复

    1.写一个脚本:/root/mysql_backup.sh vim /root/mysql_backup.sh #!/bin/bashbackupdir=/data/mysql_backup   ti ...

  5. 首页使用page类完成生成页面内容的大部分工作

    fs2在处理异常及资源使用安全方面也有比较大的改善.fs2 Stream可以有几种方式自行引发异常:直接以函数式方式用fail来引发异常.在纯代码里隐式引发异常或者在运算中引发异常,最开始只是我自己浏 ...

  6. 01 Linux档案与目录管理

      1. 目录与路径 1.1绝对路径和相对路径         绝对路径:一定有根目录/写起,例如:/usr/share/doc         相对路径:不是由根目录/写起,例如:由/usr/sha ...

  7. [git]问题list

    1. fast-forward和non fast-forward分别代表什么概念? 2. 在git中文件index是个什么概念? 3. stage/index/cache三者有什么关系? 4. git ...

  8. (OpenCV) VS2013 + opencv-2.4.10.exe + Windows 10 开发环境配置

    主要配置2点: - Windows 环境变量. - VC++ 配置. STEP BY STEP: 1. 双击 ”opencv-2.4.10.exe“,解压到本地文件夹 “C:\ ". 2. ...

  9. javascript 数组去重 unique

    晚上无事,偶然看到这么个小测试,拿来写一写,希望大家提建议: 直接上代码: Array.prototype.unique = function (isStrict) { if (this.length ...

  10. 洛谷 P3366 【模板】最小生成树 prim算法思路 我自己的实现

    网上有很多prim算法  用邻接矩阵 加什么lowcost数组 我觉得不靠谱 毕竟邻接矩阵本身就不是存图的好方法 所以自己写了一个邻接表(边信息表)版本的  注意我还是用了优先队列  每次新加入一个点 ...