搜索
您的当前位置:首页正文

程序员试题

来源:爱够旅游网


.Net开发工程师试题

徐付彪

请独立完成如下题目,编程语言不限。

1. 写一个程序,语言不限,打印出100的阶乘(即1*2*3*…*100)。

///

/// 打印出第N的阶乘(即1*2*3*…*100)。 ///

/// ///

public static double PrintSunNum(int num) {

double sun = 1; //总和 int i = 1;

while (i <= num) //循环 {

sun = sun * i; i++; }

return sun;

}

写一个程序,语言不限,能将人民币金额从阿拉伯数字转换为大写汉字表示。例如,把1234.56转换为壹仟贰佰叁拾肆圆零伍角陆分。 Dfd ///

/// 转换money ///

/// 输入money

public static void TransformMoney(string money) {

///定义大写数组

string[] odxc={\"分\",\"角\",\"圆\",\"拾\",\"佰\",\"仟\",\"万\",\"拾\",\"佰\",\"仟\",\"亿\",\"拾\",\"佰\",\"仟\",\"万\",\"拾\",\"佰\",\"仟\",\"亿\"}; //单位

string[] odxs={\"零\",\"壹\",\"贰\",\"叁\",\"肆\",\"伍\",\"陆\",\"柒\",\"捌\",\"玖\"}; //数字

string result=\"\"; //返回的大写人民币 //舍去小数点两位

double temp=Convert.ToDouble(money); money=temp.ToString(\".00\"); //除去小数点

money=money.Replace(\".\",\"\"); int len=money.Length; if(len>odxc.Length) {

Console.WriteLine(\"error:超过最大金额\"); return; }

//转换大写

for(int i=0;iint v=Convert.ToInt32(money.Substring(i,1)); //当前数字 result+=odxs[v]+odxc[len-i-1]; }

Console.WriteLine(result); //输出 }

3、 编程实现求出若干个整数之和为500的连续整数(如98,99,100,101,102),

所有组合。

///

/// 求出若干个整数之和为500的连续整数 ///

///

public static void NumberSum(int num) {

for (int i = 1; i < num; i++) //循环Num次 {

int result = 0; int start = i;

while (result < num) {

result += start; //递加和 start++; }

///判断结果等于num if (result == num) {

while (start >= i) //从地i次开始 {

Console.Write(start + \" \"); start--; }

Console.WriteLine(); } } }

//结果:33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 1413 12 11 10 9 8

// 67 66 65 64 63 62 61 60 59

// 103 102 101 100 99 98

4、 在SQL Server 数据库中,有一个表StudentAchievement(学生成绩),它有三个字

段:StudentID(varchar(8),学生编号),CourseID(varchar(10),课程编号),Achievement(int ,成绩),写一条SQL语句,筛选出每门课程的前两名的学生编号,课程编号,成绩并排序。

Select CourseID, Achievement, StudentID from StudentAchievement a where StudentID in(select top 2 b.StudentID from StudentAchievement b where b.CourseID=a.CourseID order by Achievement desc) order by courseid, Achievement desc

5、 谈谈你对面向对象的认识(限150字)。

1、易维护

采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。 2、质量高 在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。 3、效率高

在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。

4、易扩展

由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。 6、 谈谈你对多层架构的认识(限150字)。

N层架构是将应用程序分成多个独立的逻辑部分,利用分层的方式处理复杂的系统。

次系统要求上层可使用下层的功能,而下层是不能使用上层的功能。主要优点:透明和 封装;高内聚、低耦合;易于扩展、维护和重用;人员易分工。缺点:效率低;开发难 度大。

通常做法是三层:Web表述、业务、数据访问,扩展:Web、业务外观、业务规则、数据 访问、实体层、组件等层次。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top