C#笔试(程序设计)
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#笔试(程序设计)的更多相关文章
- 《JS高级程序设计》笔记 —— 解析查询字符串
今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...
- 找工作笔试面试那些事儿(16)---linux相关知识点(1)
linux这部分的知识倒不是笔试面试必考的内容,不过现在很多公司开发环境都在linux系统下,一些简单的知识还是需要了解一下的,笔试面试中万一碰到了,也不会措手不及.作为菜硕的我,又因为读研期间的项目 ...
- 找工作笔试面试那些事儿(8)---常问的CC++基础题
这一部分是C/C++程序员在面试的时候会被问到的一些题目的汇总.来源于基本笔试面试书籍,可能有一部分题比较老,但是这也算是基础中的基础,就归纳归纳放上来了.大牛们看到一笑而过就好,普通人看看要是能补上 ...
- 笔试总结篇(一) : 广州X公司笔试
一.单选题: Ps : 当时由于去广州路上颠簸很困,导致刚做几分钟题目就睡了一觉.起来发现20分钟过去了.擦擦! 1. 假设磁盘文件foobar.txt 由 6个ASCII 码字符“foobar” 组 ...
- 大IT公司笔试
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但 ...
- Efounds笔试
Efounds的笔试~ 1.比较两个浮点数大小 一般不会直接用"=="或者"!="对两个浮点数进行比较. 判断两个浮点数float a 与 float b 是否 ...
- 字节跳动19春招研发第一次在线笔试-A卷
结果:凉. 说明 此博客仅为笔试记录所用,如涉及版权或保密问题,请联系我及时删除. 联系方式:georgehu716@qq.com 1. 找零 时间限制:C/C++ 1秒,其他语言 2秒 空间限制:C ...
- (转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析
C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析 http://www.nowcoder.com/discuss/1826?type=2&order=0&pos=23&p ...
- 20155202 2016-2017-2 《Java程序设计》第7周学习总结
20155202 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 世界协调时间:UTC 采用 闰秒修正 Epoch为某特定时代开始,时间轴上某一瞬间 Unix ...
随机推荐
- 反人类的java
- React - redux, jsx中写js示例
{ this.state.avatarSource === null ? <Text>Select a Photo</Text> : <Image style={styl ...
- 在eclipse运行程序
1.开始的时候由于另一个财务共享的项目,其中也应用了maven管理项目,因此就不用额外安装配置maven. 2.这里关键的一点就是需要通过maven和jetty配合运行lenmonOA. 3.jett ...
- Lua学习---Lua的控制结构
前言 由于之前有c/c++.javascript基础,所以学Lua的时候喜欢拿来和前面的语言比较,这里主要和C比较 1.if...else Lua的if语句格式: if 条件 then 条件成立,运行 ...
- 备份触发器:ADDC3
CREATE OR REPLACE TRIGGER "XMV502"."ADDC3" before insert on bd_cubasdoc for each ...
- 换一个思路压缩图片,RGB转YUV
一般的压缩方案 做移动平台,终究都是要考虑纹理压缩的问题 IOS/PVR平台上一般会选用PVRTC格式,这个格式压缩还是很给力. Android上设备种类很多,支持的格式各有不同.如果平台能支持下载前 ...
- SQL Server 2008中的数据压缩
SQL Server 2008中引入了数据压缩的功能,允许在表.索引和分区中执行数据压缩.这样不仅可以大大节省磁盘的占用空间,还允许将更多数据页装入内存中,从而降低磁 盘IO,提升查询的性能.当然,凡 ...
- C#矩阵运算类库
这个类库是本人参考许多相关资料之后做出的C#矩阵运算类库,因为C#的数值计算库相对比较少,所以希望这个类库能够给大家带来一些帮助. 源码github网址:https://github.com/Josh ...
- Unity上一页下一页切换功能实现源码(仅供参考)
在做项目时我们有时需要实现切换上一页下一页图片,切换上一首下一首歌曲等等类似的功能.这里写了个简单的实现源码(仅供参考),要是有更好的方法欢迎提出来,共同进步~ 以切换上一页下一页图片为例: usin ...
- SpringMVC使用的几个要点
1.使用 @RequestParam("username") 来对应参数名的时候,这个参数必须要传入,否则会报错.没加@RequestParam则可传可不传 @RequestMap ...