国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#常見算法面試題小結

2020-01-24 02:25:59
字體:
來源:轉載
供稿:網友

本文實例匯總了C#面試常見的算法題及其解答。具有不錯的學習借鑒價值。分享給大家供大家參考。具體如下:

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"。

static string Reverse() {  string s = "I am a good man";  string[] arr = s.Split(' ');  string res = "";  for (int i = arr.Length - 1; i >= 0; i--)  {    res += arr[i];    if (i > 0)   res += " ";  }  return res; }

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#程序設計有一定的借鑒價值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂托克前旗| 庆阳市| 岗巴县| 徐闻县| 岳池县| 隆子县| 云霄县| 鸡泽县| 梁山县| 清苑县| 合江县| 海南省| 南京市| 梓潼县| 和政县| 临朐县| 塔城市| 双江| 芷江| 蕲春县| 邹城市| 林口县| 河曲县| 宣恩县| 蛟河市| 资源县| 巴东县| 福泉市| 河池市| 乌恰县| 峡江县| 信宜市| 溧水县| 辽中县| 招远市| 镇宁| 滁州市| 铜陵市| 东宁县| 特克斯县| 陵川县|