久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C#程序設(shè)計(jì)筆試題

 zop個(gè)人圖書館 2012-11-16

4.一個(gè)長(zhǎng)度為10000的字符串,通過隨機(jī)從a-z中抽取10000個(gè)字符組成,。請(qǐng)用c#語言編寫主要程序來實(shí)現(xiàn),。
答:
using System.Text;
StringBuilder sb = new StringBuilder(0, 10000);
string strABC = “a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z”;
string[] ABC = strABC.Split(‘,’);
int len = ABC.Length;
Random rd = new Random();
for (int i = 0; i < 10000; i++)
{
sb.Append(ABC[rd.Next(len)]);
}

5.產(chǎn)生一個(gè)int數(shù)組,長(zhǎng)度為100,,并向其中隨機(jī)插入1-100,,并且不能重復(fù)。
int[] intArr=new int[100];
ArrayList myList=new ArrayList();
Random rnd=new Random();
while(myList.Count<100)
{
int num=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num);
}
for(int i=0;i<100;i++)
intArr[i]=(int)myList[i];

2.如何把一個(gè)Array復(fù)制到ArrayList里
答:
foreach( object o in array )arrayList.Add(o);

1. 用C#寫一段選擇排序算法,,要求用自己的編程風(fēng)格,。

答:private int min;

public void xuanZhe(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;

}

}

4.寫一個(gè)函數(shù)計(jì)算當(dāng)參數(shù)為N的值:1-2+3-4+5-6+7……+N
答:public int returnSum(int n)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
int k = i;
if (i % 2 == 0)
{
k = -k;
}
sum = sum + k;
}
return sum;
}

public int returnSum1(int n)
{
int k = n;
if (n == 0)
{
return 0;
}
if (n % 2 == 0)
{
k = -k;
}
return aaa(n – 1) + k;
}

7. 某一密碼僅使用K、L、M,、N,、O共5個(gè)字母,密碼中的單詞從左向右排列,,密碼單詞必須遵循如下規(guī)則 :
(1) 密碼單詞的最小長(zhǎng)度是兩個(gè)字母,,可以相同,也可以不同
(2) K不可能是單詞的第一個(gè)字母
(3) 如果L出現(xiàn),,則出現(xiàn)次數(shù)不止一次
(4) M不能使最后一個(gè)也不能是倒數(shù)第二個(gè)字母
(5) K出現(xiàn),,則N就一定出現(xiàn)
(6) O如果是最后一個(gè)字母,則L一定出現(xiàn)
問題一:下列哪一個(gè)字母可以放在LO中的O后面,,形成一個(gè)3個(gè)字母的密碼單詞,?
A) K B)L C) M D) N
答案:B
問題二:如果能得到的字母是K、L,、M,,那么能夠形成的兩個(gè)字母長(zhǎng)的密碼單詞的總數(shù)是多少?
A)1個(gè) B)3個(gè) C)6個(gè) D)9個(gè)
答案:A
問題三:下列哪一個(gè)是單詞密碼,?
A) KLLN B) LOML C) MLLO D)NMKO
答案:C

62-63=1 等式不成立,,請(qǐng)移動(dòng)一個(gè)數(shù)字(不可以移動(dòng)減號(hào)和等于號(hào)),使得等式成立,,如何移動(dòng),?
答案:62移動(dòng)成2的6次方

17、列出常用的使用javascript操作xml的類包
答:
XML.prototype.xmlDoc = new ActiveXObject(“Microsoft.XMLDOM”);
XML.prototype.InitXML=InitXML;
XML.prototype.getFirstChild=getFirstChild;
XML.prototype.getLastChild=getLastChild;
XML.prototype.getChild=getChild; // 取得節(jié)點(diǎn)值
XML.prototype.getNodeslength=getNodeslength; // 最得節(jié)點(diǎn)下的子節(jié)點(diǎn)的個(gè)數(shù)
XML.prototype.getNode=getNode; // 取得指定節(jié)點(diǎn)
XML.prototype.delNode=delNode; // 刪除指定節(jié)點(diǎn),如果節(jié)點(diǎn)相同,則刪除最前面的節(jié)點(diǎn).
XML.prototype.getNodeAttrib=getNodeAttrib; // 取得節(jié)點(diǎn)的指定屬性值.
XML.prototype.InsertBeforeChild=InsertBeforeChild; // 在指定節(jié)點(diǎn)之前插入一個(gè)節(jié)點(diǎn).
XML.prototype.InsertChild=InsertChild; // 在指定節(jié)點(diǎn)下插入節(jié)點(diǎn).
XML.prototype.setAttrib=setAttrib; // 設(shè)置指定屬性的值.
XML.prototype.setNodeValue=setNodeValue; // 設(shè)置指定節(jié)點(diǎn)的值.
XML.prototype.CreateNodeS=CreateNodeS; // 創(chuàng)建一個(gè)指定名的節(jié)點(diǎn).
XML.prototype.addAttrib=addAttrib; // 為指定節(jié)點(diǎn)添加指定屬性,,并設(shè)置初值.
XML.prototype.FindString=FindString; // 在指定節(jié)點(diǎn)下查找字符串.

給定以下XML文件,,完成算法流程圖<FileSystem>
< DriverC >
<Dir DirName=”MSDOS622”>
<File FileName =” Command.com” ></File>
</Dir>
<File FileName =”MSDOS.SYS” ></File>
<File FileName =” IO.SYS” ></File>
</DriverC>
</FileSystem>
請(qǐng)畫出遍歷所有文件名(FileName)的流程圖(請(qǐng)使用遞歸算法)。
答:
void FindFile( Directory d )
{
FileOrFolders = d.GetFileOrFolders();
foreach( FileOrFolder fof in FileOrFolders )
{
if( fof is File )
You Found a file;
else if ( fof is Directory )
FindFile( fof );
}
}

6.C#代碼實(shí)現(xiàn),,確保windows程序只有一個(gè)實(shí)例(instance)
///<summary>
///應(yīng)用程序的主入口點(diǎn),。
///</summary>
[STAThread]
staticvoid Main()
{
//防止程序多次運(yùn)行
if(!OneInstance.IsFirst(“GetPayInfo”))
{
MessageBox.Show (“警告:程序正在運(yùn)行中! 請(qǐng)不要重復(fù)打開程序!可在右下角系統(tǒng)欄找到!”,”程序錯(cuò)誤提

示:”,MessageBoxButtons.OK,MessageBoxIcon.Stop);
return;
}
Application.Run(new Form1());
}
// ******************* 防止程序多次執(zhí)行 **************************
publicabstractclass OneInstance
{
///<summary>
///判斷程序是否正在運(yùn)行
///</summary>
///<param name=”appId”>程序名稱</param>
///<returns>如果程序是第一次運(yùn)行返回True,否則返回False</returns>
publicstaticbool IsFirst(string appId)
{
bool ret=false;
if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero)
{
CreateMutex(IntPtr.Zero,0,appId);
ret=true;
}
return ret;
}
[DllImport("Kernel32.dll",CharSet=CharSet.Auto)]
privatestaticextern IntPtr OpenMutex(
uint dwDesiredAccess, // access
int bInheritHandle, // inheritance option
string lpName // object name
);
[DllImport("Kernel32.dll",CharSet=CharSet.Auto)]
privatestaticextern IntPtr CreateMutex(
IntPtr lpMutexAttributes, // SD
int bInitialOwner, // initial owner
string lpName // object name
);
}

6.一列數(shù)的規(guī)則如下: 1、1,、2,、3、5,、8,、13、21,、34…… 求第30位數(shù)是多少,, 用遞歸算法實(shí)現(xiàn)。
答: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);
}
}

8.請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法,?
答:
int [] array = new int ;
int temp = 0 ;
for (int i = 0 ; i < array.Length – 1 ; i++)
{
for (int j = i + 1 ; j < array.Length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}

11.在下面的例子里
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B()
{
y=-1;

}
public override void PrintFields()
{
Console.WriteLine(“x={0},y={1}”,x,y);
}

}
當(dāng)使用new B()創(chuàng)建B的實(shí)例時(shí),,產(chǎn)生什么輸出,?
答:X=1,Y=0;

3.下面的例子中

using System;

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);

}

}

產(chǎn)生的輸出結(jié)果是什么?x=1,y=2

15.根據(jù)委托(delegate)的知識(shí),,請(qǐng)完成以下用戶控件中代碼片段的填寫:
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
public event OnDBOperate OnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
//請(qǐng)?jiān)谝韵卵a(bǔ)齊代碼用來調(diào)用OnDBOperate委托簽名的OnNew事件,。
}
}
}
答:if( OnNew != null )
OnNew( this, e );

16.分析以下代碼,完成填空
string strTmp = “abcdefg某某某”;
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代碼執(zhí)行完后,,i= j=
答:i=13,j=10

17.給定以下XML文件,,完成算法流程圖。
<FileSystem>
< DriverC >
<Dir DirName=”MSDOS622”>
<File FileName =” Command.com” ></File>
</Dir>
<File FileName =”MSDOS.SYS” ></File>
<File FileName =” IO.SYS” ></File>
</DriverC>
</FileSystem>
請(qǐng)畫出遍歷所有文件名(FileName)的流程圖(請(qǐng)使用遞歸算法),。
答:偽代碼:
void FindFile( Directory d )
{
FileOrFolders = d.GetFileOrFolders();
foreach( FileOrFolder fof in FileOrFolders )
{
if( fof is File )
You Found a file;
else if ( fof is Directory )
FindFile( fof );
}
}
C#:
Public void DomDepthFirst(XmlNode currentNode)
{
XmlNode node=currentNode.FirstChild;
while(node!=null)
{
DomDepthFirst(node);
node=node.NextSibling;
}
if(node.Name==”File”)
{
Console.Write(((XmlElement)node).GetAttribute(“FileName”)+”\r\n”);
}
}

29.根據(jù)線程安全的相關(guān)知識(shí),,分析以下代碼,當(dāng)調(diào)用test方法時(shí)i>10時(shí)是否會(huì)引起死鎖?并簡(jiǎn)要說明理由,。
public void test(int i)
{
lock(this)
{
if (i>10)
{
i–;
test(i);
}
}
}
答:不會(huì)發(fā)生死鎖,,(但有一點(diǎn)int是按值傳遞的,所以每次改變的都只是一個(gè)副本,,因此不會(huì)出現(xiàn)死鎖,。但如果把int換做一個(gè)object,那么死鎖會(huì)發(fā)生)

78,、下面的程序執(zhí)行結(jié)果是什么,?

class Person

{

public int Age { get; set; }

}

int i1 = 20;

int i2 = i1;

i1++;

Console.WriteLine(i2);

Person p1 = new Person();

p1.Age = 20;

Person p2 = p1;

p1.Age++;

Console.WriteLine(p2.Age);

答案:

20 、21

2,、不用中間變量交換兩個(gè)變量

int i = 500;

int j = int.MaxValue – 10;

//int i = 10;

//int j = 20;

Console.WriteLine(“i={0},j={1}”, i, j);

i = i + j;//i=30

j = i – j;//j=10;

i = i – j;//i=20;

Console.WriteLine(“i={0},j={1}”,i,j);

有一個(gè)10個(gè)數(shù)的數(shù)組,,計(jì)算其中不重復(fù)數(shù)字的個(gè)數(shù)。{3,5,9,8,10,5,3}

用HashSet

int[] values = { 3, 5, 9, 8, 10, 5, 3 };

HashSet<int> set = new HashSet<int>();

foreach (int i in values)

{

set.Add(i);

}

foreach (int i in set)

{

Console.WriteLine(i);

}

點(diǎn)擊table獲取行號(hào)列號(hào),?

  1. function getRowAndColumn()
  2. {
  3. if(!document.getElementsByTagName || !document.createTextNode)return;
  4. varrows=document.getElementById(‘MyTable’).getElementsByTagName(‘tr’);
  5. varcols;
  6. for(i = 0; i < rows.length; i++)
  7. {
  8. rows[i].onclick=function()
  9. {
  10. 10.   alert(“行:”+eval(this.rowIndex + 1));
  11. 11.   }
  12. 12.   if(i=0)
  13. 13.   {
  14. 14.   colsTH =rows[i].getElementsByTagName(‘th’);
  15. 15.   alert(colsTH.length);
  16. 16.   for(k = 0; k< colsTH.length; k++)
  17. 17.   {
  18. 18.   colsTH[k].onclick =function()
  19. 19.   {
  20. 20.   alert(“列:”+eval(this.cellIndex +1));
  21. 21.   }
  22. 22.   }
  23. 23.   }
  24. 24.   else
  25. 25.   {
  26. 26.   cols =rows[i].getElementsByTagName(‘td’);
  27. 27.   for(j = 0; j < cols.length; j++)
  28. 28.   {
  29. 29.   cols[j].onclick =function()
  30. 30.   {
  31. 31.   alert(“列:”+eval(this.cellIndex + 1));
  32. 32.   }
  33. 33.   }
  34. 34.   }
  35. 35.   }
  36. 36.   }

//相傳有一群猴子要選出大王,,它們采用的方式為:所有猴子站成一個(gè)圈,然后從1開始報(bào)數(shù),,每當(dāng)數(shù)到”.

//”N的那一只猴子就出列,,然后繼續(xù)從下一個(gè)猴子開始又從1開始數(shù),數(shù)到N的猴子繼續(xù)出列,,一直到最后”.

//”剩的猴子就是大王了,。假如現(xiàn)在有M只猴子,,報(bào)數(shù)數(shù)為N,,請(qǐng)問第幾只猴子是大王?列出選大王的過程,。

int M = 10;

int N = 3;

List<int> monkeys = new List<int>();

for (int i = 1; i <= M; i++)

{

monkeys.Add(i);

}

int currentIndex = 0;

while (true)

{

for (int i = 1; i <= N; i++)

{

if (i == N)

{

monkeys.RemoveAt(currentIndex);

if (monkeys.Count == 1)

{

Console.WriteLine(monkeys[0]);

return;

}

}

currentIndex++;

if (currentIndex >= monkeys.Count)

{

currentIndex = 0;

}

}

}

38:請(qǐng)編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty,?
答:
foreach (System.Windows.Forms.Control control in this.Controls)
{
if (control is System.Windows.Forms.TextBox)
{
System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;
tb.Text = String.Empty ;
}
}

10. 程序設(shè)計(jì): 貓大叫一聲,所有的老鼠都開始逃跑,,主人被驚醒,。(C#語言)

要求: 1.要有聯(lián)動(dòng)性,老鼠和主人的行為是被動(dòng)的。

2.考慮可擴(kuò)展性,,貓的叫聲可能引起其他聯(lián)動(dòng)效應(yīng),。

要點(diǎn):1. 聯(lián)動(dòng)效果,運(yùn)行代碼只要執(zhí)行Cat.Cryed()方法,。2. 對(duì)老鼠和主人進(jìn)行抽象
評(píng)分標(biāo)準(zhǔn): <1>.構(gòu)造出Cat,、Mouse、Master三個(gè)類,,并能使程序運(yùn)行
<2>從Mouse和Master中提取抽象
<3>聯(lián)動(dòng)效應(yīng),,只要執(zhí)行Cat.Cryed()就可以使老鼠逃跑,主人驚醒,。

public interface Observer
{
void Response(); //觀察者的響應(yīng),,如是老鼠見到貓的反映
}
public interface Subject
{
void AimAt(Observer obs); //針對(duì)哪些觀察者,這里指貓的要撲捉的對(duì)象—老鼠
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject subj)
{
this.name = name;
subj.AimAt(this);
}

public void Response()
{
Console.WriteLine(name + ” attempt to escape!”);
}
}
public class Master : Observer
{
public Master(Subject subj)
{
subj.AimAt(this);
}

public void Response()
{
Console.WriteLine(“Host waken!”);
}
}

public class Cat : Subject
{
private ArrayList observers;
public Cat()
{
this.observers = new ArrayList();
}
public void AimAt(Observer obs)
{
this.observers.Add(obs);
}
public void Cry()
{
Console.WriteLine(“Cat cryed!”);
foreach (Observer obs in this.observers)
{
obs.Response();
}
}
}
class MainClass
{
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();
}
}

//———————————————————————————————

設(shè)計(jì)方法二: 使用event — delegate設(shè)計(jì)..
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();
}

}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多