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. openjudge-膨胀的木棍

    http://noi.openjudge.cn/ch0111/09/ 总时间限制: 1000ms  内存限制: 65536kB 描述 当长度为L的一根细木棍的温度升高n度,它会膨胀到新的长度L'=(1 ...

  2. k8s dns 服务安装配置说明

    1. 提前条件 安装k8s 集群 2.  dns  安装配置 安装方式: 使用controller  service controller  脚本: 基于官方改动 apiVersion: v1 kin ...

  3. 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9

    摘要: 安全防护:在Linux操作系统下备份恢复技术的应用  原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...

  4. AngularJS之directive

    AngularJS之directive AngularJS是什么就不多舌了,这里简单介绍下directive.内容基本上是读书笔记,所以如果你看过<AngularJS up and runnin ...

  5. Java BigDecimal和double

    BigDecimal类 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数 ...

  6. 【solr】之solr界面查询返回距离并排序

    使用solr界面查询 {!geofilt}距离函数 star:[4 TO 5]星级排序 geodist() desc 距离排序 pt :31.221717,121.580891 sfield:loca ...

  7. Oracle 违反协议 OALL8 处于不一致状态

    http://blog.sina.com.cn/s/blog_a45aac720100yu3h.html ERROR-util.JDBCExceptionReporter>: 违反协议ERROR ...

  8. 黄聪:解决Web部署 svg/woff/woff2字体 404错误

    问题:最近在IIS上部署web项目的时候,发现浏览器总是报找不到woff.woff2字体的错误.导致浏览器加载字体报404错误,白白消耗了100-200毫秒的加载时间. 原因:因为服务器IIS不认SV ...

  9. Async Programming - 1 async-await 糖的本质(2)

    上一篇讲了这么多,其实说的就是一个事,return会被编译器重写成SetResult,所以如果我们的异步函数返回的是一个Task<int>,代码就要改成这样: using System; ...

  10. List Arraylist 数组的区别

    数组.List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如: ]; //赋值 s[]=]=]="c"; //修 ...