1.写出冒泡,选择,插入排序算法。

    //冒泡排序
    public class bubblesorter
    {
        public void sort(int[] list)
        {
            int i, j, temp;
            bool done = false;
            j = 1;
            while ((j < list.Length) && (!done))
            {
                done = true;
                for (i = 0; i < list.Length - j; i++)
                {
                    if (list[i] > list[i + 1])
                    {
                        done = false;
                        temp = list[i];
                        list[i] = list[i + 1];
                        list[i + 1] = temp;
                    }
                }
                    j++;
            }
        }
    }
    //选择排序
    public class selectionsorter
    {
        private int min;
        public void sort(int[] list)
        {
            for (int i = 0; i < list.Length - 1; i++)
            {
                min = i;
                for (int j = i + 1; j < list.Length; j++)
                {
                    if (list[j] < list[min])
                        min = j;
                }
                int t = list[min];
                list[min] = list[i];
                list[i] = t;
            }
        }
    }
    //插入排序
    public class insertionsorter
    {
        public void sort(int[] list)
        {
            for (int i = 1; i < list.Length; i++)
            {
                int t = list[i];
                int j = i;
                while ((j > 0) && (list[j - 1] > t))
                {
                    list[j] = list[j - 1];
                    --j;
                }
                list[j] = t;
            }
        }
    }

2.有一列数1,1,2,3,5,........求第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);
    }
}

3. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。

    public delegate void SubEventHandler(); 
    public abstract class Subject 
    { 
        public event SubEventHandler SubEvent; 
        protected void FireAway() 
        { 
            if (this.SubEvent != null) 
                this.SubEvent(); 
        }   
    } 
    public class Cat : Subject 
    {  
        public void Cry() 
        { 
            Console.WriteLine(cat cryed.); 
            this.FireAway(); 
        } 
    } 
    public abstract class Observer 
    { 
        public Observer(Subject sub) 
        { 
            sub.SubEvent += new SubEventHandler(Response); 
        } 
        public abstract void Response();    
    } 
    public class Mouse : Observer 
    { 
        private string name; 
        public Mouse(string name, Subject sub) : base(sub) 
        {   
            this.name = name; 
        } 
        public override void Response() 
        { 
            Console.WriteLine(name +  attempt to escape!); 
        } 
    } 
    public class Master : Observer 
    { 
        public Master(Subject sub) : base(sub){} 
        public override void Response() 
        { 
            Console.WriteLine(host waken); 
        } 
    } 
    class Class1 
    { 
        static void Main(string[] args) 
        { 
            Cat cat = new Cat(); 
            Mouse mouse1 = new Mouse(mouse1, cat); 
            Mouse mouse2 = new Mouse(mouse2, cat); 
            Master master = new Master(cat); 
            cat.Cry(); 
        } 

    } 

4.有一个字符串 "I am a good man",设计一个函数,返回 "man good a am I"。

5.A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
  人参加了竞赛:

(1)A参加时,B也参加;

(2)B和C只有一个人参加;

(3)C和D或者都参加,或者都不参加;

(4)D和E中至少有一个人参加;

(5)如果E参加,那么A和D也都参加。

        static void Main(string[] args)
        {

            char[] name={'A','B','C','D','E'};
            int[] value = new int[5];
            for (value[0]=0;value[0]<2;value [0]++)
                for (value[1]=0; value[1] < 2; value[1]++)
                    for (value[2]=0; value[2] < 2; value[2]++)
                        for (value[3]=0; value[3] < 2; value[3]++)
                            for (value[4]=0; value[4] < 2; value[4]++)
                            {
                                if ((value[1] >= value[0]) && (value[1] + value[2] == 1) && (value[2] == value[3]) && (value[3] + value[4]==1) && (value[4]==0 || value[4]==1 && value[0]==1 && value[3]==1))
                                {
                                    for (int i = 0; i < 5; i++)
                                    {
                                        if (value[i]==1)
                                        {
                                            Console.WriteLine("{0}参加", name[i]);
                                        }
                                        else
                                        {
                                            Console.WriteLine("{0}不参加", name[i]);
                                        }
                                    }
                                }
                            }
}

6.题目:
a user entered an integer value into a text box. Without using a buit-in library, convert the numeric string to its integer representation.

static int StringTolnt(string s)
        {
            int sum = 0;
            for (int i = 0; i < s.Length; i++)
                sum = sum * 10 + (s[i] - '0');
            return sum;
        }

C#常见算法题目(面试准备)的更多相关文章

  1. C#的常见算法(面试)

    一.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+--+m //方法一,通过顺序规律写程序,同时也知道flag标志位的重要性. static int F1(int m) { ; ...

  2. C#的常见算法(面试)(转)

    一.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m //方法一,通过顺序规律写程序,同时也知道flag标志位的重要性. static int F1(int m) { ; ...

  3. JS常见算法题目

      最近收集了几个经典JS题目,比较有代表性,分享一下:   1.xiaoshuo-ss-sfff-fe  变为驼峰xiaoshuoSsSfffFe function getCamelCase(str ...

  4. C#常见算法题目

        //冒泡排序    public class bubblesorter    {        public void sort(int[] list)        {            ...

  5. Top Coder算法题目浏览器

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/top-code-offline-browser/ 关于 左耳朵耗子 ...

  6. iOS面试中常见的算法题目

    一.前言 这里是在iOS求职中自己遇到的算法题,希望对大家有所帮助.不定期更新.如果大家想在线运行代码调试,可以将代码拷贝到这里.然后进行调试.下面就是常见的算法题目. 二.正文 1.就n的阶乘.(这 ...

  7. 19道常见的JS面试算法题

    最近秋招也做了多多少少的面试题,发现除了基础知识外,算法还是挺重要的.特意整理了一些常见的算法题,添加了自己的理解并实现. 除此之外,建议大家还可以刷刷<剑指offer>.此外,左神在牛客 ...

  8. 字符串匹配常见算法(BF,RK,KMP,BM,Sunday)

    今日了解了一下字符串匹配的各种方法. 并对sundaysearch算法实现并且单元. 字符串匹配算法,是在实际工程中经常遇到的问题,也是各大公司笔试面试的常考题目.此算法通常输入为原字符串(strin ...

  9. 如何准备算法工程师面试,斩获一线互联网公司机器学习岗offer?

    原文:https://zhuanlan.zhihu.com/p/76827460?utm_source=wechat_session&utm_medium=social&utm_oi= ...

随机推荐

  1. C10K问题2

    http://blog.csdn.net/zhoudaxia/article/details/12920993 是时候让 Web 服务器同时处理一万客户端了,你不觉得吗?毕竟,现在的 Web 是一个大 ...

  2. 误删除了Oracle的dbf文件后的解决方法

    问题描述: 误删除Oracle数据库的dbf文件,在启动和关闭数据库是会提示错误. startup启动数据库时提示: ORA-01157:无法标识/锁定数据文件 ORA-01110:数据文件:‘... ...

  3. selenium2.0处理case实例(一)

    通过自动化脚本, 判断下拉框选项值是否按照字母顺序(忽略大小写)显示 case场景如下: 1)打开www.test.com;2)判断下拉框选项是否按照字母顺序排列(忽略大小写)3)选择其中一个任意选项 ...

  4. 升级Capitan 10.11以后CocoaPod 无效解决办法

    今天发现升级10.11的系统以后执行 pod install 的时候报错 zsh: command not found: pod 解决方法如下: 1.检查gem 的数据源 gem sources -l ...

  5. .Net Framework 开发Http协议

    一.Http的基本原理 1.HTTP协议的运作方式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HTTP协议是基于请求/响应范式的.一个客户机与服务器建立连接后,发送一个请求 ...

  6. MySql免安装版配置方法

    第1步:下载如下图安装包 第2步:解压mysql压缩包,然后进入解压后的安装包 将my-default.ini复制一份,并改名为my.ini(我已经完成) 把下面内容复制到my.ini,并保存 [cl ...

  7. JS数值输入控制

    在html文本框录入数值时,可用如下方法进行控制判断. 整数:<input type="text" name="aaa" onkeypress=" ...

  8. hdu 1286 找新朋友 (欧拉函数)

    Problem Description 新年快到了,"猪头帮协会"准备搞一个聚会,已经知道现有会员N人,把会员从1到N编号,其中会长的号码是N号,凡是和会长是老朋友的,那么该会员的 ...

  9. WP8手机解锁时提示“请确保IPOVERUSBSVC服务正常运行”解决方法

    如果你各种重启服务 卸载手机 重装驱动都试过了还不行,请看看你是否安装了Hyper-v或Vitualbox虚拟机,很有可能是虚拟交换机造成的. 我在网络连接属性里看到这个 把它卸载后,解锁成功. 解锁 ...

  10. C#事件作用和用法

    例如有下面的需求需要实现:程序主画面中弹出一个子窗口.此时主画面仍然可以接收用户的操作(子窗口是非模态的).子窗口上进行某些操作,根据操作的结果要在主画面上显示不同的数据. 即如下图所示: 大多数我们 ...