C#编程习习题_第1页
C#编程习习题_第2页
C#编程习习题_第3页
C#编程习习题_第4页
C#编程习习题_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C#编程习题以下有18道习题(当然,这并非全部的习题,最后应该会多增加2题,共20题),对于这20道题目,要求大家每道题目都能够做到看到题目,不看其他参考材料的情况下,能够实现出来。期末考将会从中抽取三道题目(分数占60分),而期末考其实是要出三份试卷的。所以总的需要从这份里面抽9道题目。也就是这20题中有9题是肯定会出现在试卷中的。对于本科目最后成绩的说明:总评成绩=平时成绩*50%+期末成绩*50%平时成绩与期末成绩都是100分制的。平时成绩=出勤课堂纪律情况*40%+作业完成情况*60%对于作业完成情况的说明:对于之前的作业,不管是否有提交,我都不再追究。我只要求从发这份习题给你们开始,

2、每周要按顺序完成如下的5道题目,把每道题目都自己理解完实现出来之后再交上来。我知道要把这20题都弄懂,不是一件容易的事情,但不是不可能。第一, 我会提供一些材料,大家可以先把这些材料看一遍,大体有个印象,当遇到问题的时候,也要学会查找对应材料来解决问题。第二, 下面的每道题目,我都将会给出参考答案。当然是以截图的方式。也会在关键代码附上相应的注释。还有一句话,希望能与大家共勉。“学习,从来都是一个自觉的过程。遇上一个好老师,会让你少走很多弯路,但不是替代你学习。遇上一个不够好的老师,或许会多走些弯路,但不代表你就学不好。事在人为,只要自己有心,外界条件再差也是可以攻克的;若是无心,外界条件再好

3、,也会成为你的借口。”最后,再回到我们这门课的现实。能否取得好成绩,能否不挂科,取决于你,而不取决于我。规则我都已经说清楚了,最后结果如何我说了不算,你的实际行动和实际成绩说了算。1、 编写一个函数,函数名为Max,该函数用来获取给定三个整数的最大值。在Main函数中实现从屏幕中读取三个整数,然后输出这三个整数中最大的那个数的功能。namespace _1 class Program static void Main(string args) (请输入3个数:按回车结束); int a, b, c, temp; a = ();最后在main函数中测试结果代码:namespace Console

4、Application1 class Program static void Main(string args) int a, r; (请输入一个正整数); a = (); r = C105(a); (该数是0位数, r); int A = Db(a); Shuzhu(A); Cs(A); static int C105(int a) int i = 1; while (a 10) a = a / 10; i+; return i; static int Db(int a) int count = C105(a); int data = new intcount; while (a 0) da

5、ta-count = a % 10; a = a / 10; return data; static void Shuzhu(int A) for (int i = 0; i ; i+) (0 ,Ai); (); static void Cs(int A) for (int i = 0; i / 2; i+) int temp = Ai; Ai = A - i - 1; A - i - 1 = temp; (倒叙输出后的结果为); for (int i = 0; i ; i+) (0 , Ai); (); 2、 请编写一个函数,计算出从m到n的数的和,比如m=3,n=300,则计算出从3一直加

6、到300的和。并在Main函数中调用测试。要求:1) 写个函数采用for语句实现该功能。2) 写个函数采用while语句实现该功能。3) 写个函数采用dowhile语句实现该功能。代码:namespace ConsoleApplication1 class Program static void Main(string args) int a,b; (请输入两个正整数分,别按回车结束); a = (); b = (); For(a, b); While(a, b); Dowhile(a, b); static void For(int a, int b) int sum = 0; for (i

7、nt i = a; i 0) (0,a%2); a = a / 2; return (); 5、 编写一个函数,返回给定一个正整数m的n位二进制表示方法,若n小于实际给定数m的二进制位数,则返回其真实位数。比如m=100,n=3,则返回1100100比如m=100,n=8,则返回001100100代码:namespace _1 class Program static void Main(string args) (请输入一个正整数,按回车键结束); int a = (); (请输入你想返回的二进制的位数); int b = (); string result = Zhuanhua(a, b)

8、; (输入的数0被转化为二进制后1位的结果为2, a,b,result); static string Zhuanhua(int a,int b) StringBuilder result=new StringBuilder(); int count = 0; while (a 0) (0,a%2); a = a / 2; count+; for (int i = count; i = b; i+) (0, 0); return (); 6、 写一个函数,实现对给定一个整型数组中的每个元素进行逆序重新存放。例如,原来顺序为1,3,6,5,7,。要求改为7,5,6,3,1。并在Main函数中测试

9、。7、 代码: namespace _074 class Program static void Main(string args) (请输入一个整形数组中间用逗号隔开如10,11,12); string a = (); string tempData = (,); int data = new int; for (int i = 0; i ; i+) datai = (tempDatai); data = Shuzhu(data); (逆序输出后的数组如下); Daying(data); static int Shuzhu(int data) int temp; for (int i = 0

10、; i 2; i+) temp = datai; datai = data - i - 1; data - i - 1 = temp; return data; static void Daying(int data) for (int i = 0; i ; i+) (0, datai); 8、 写一个函数,给定一个数n,要求返回n行的杨辉三角形。并在Main函数中测试。9、 代码:namespace _074 class Program static void Main(string args) (请输入要打印的杨辉三角的行数,按回车结束!); int n = (); (0行的杨辉三角如下:

11、, n); PrintYangaHuiTriangle(n); static void PrintYangaHuiTriangle(int n) int, data = new intn, n; for (int i = 1; i = n; i+) datai - 1, 0 = 1; datai - 1, i - 1 = 1; for (int i = 3; i = n; i+) for (int j = 2; j i; j+) datai - 1, j - 1 = datai - 2, j - 2 + datai - 2, j - 1; for (int i = 1; i = n; i+)

12、for (int j = 1; j = i; j+) (0,-5:D, datai - 1, j - 1); (n); 10、 编写一个函数,函数名为ReverseInt,实现逆序输出给定的一个整数。比如,整数为123,则输出321。并在Main函数中调用测试。11、 代码:namespace _074 class Program static void Main(string args) (请输入一个整数,并按回车结束!); int n = (); (0逆序之后的整数为1, n, ReverseInt(n); oUpper(); 12、 猜数游戏在这个实验中,我们将尝试编写一个猜数游戏程序,

13、这个程序看上去有些难度,但是如果按下列要求循序渐进地编程实现,会发现其实这个程序是很容易实现的。那么,现在就开始吧,先编写第1个程序,然后试着在第1个程序的基础上编写第2个程序,a) 程序1 编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大(Too high)还是小(Too low),然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。 b) 程序2编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则

14、计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。 c) 程序3 编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。 d) 程序4编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续

15、猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。13、 机器人习题a) 写一个类Robot,该类包含三个实例变量:name(string类型),age(ushort类型),isOn(bool类型)。初始化该三个变量的值为”unknown”,0和false。(强调:不能通过构造函数来初始化)。给这三个实例变量分别添加获取值和设置值的方法。在Main方法中测试该Robot类。b) 为允许该Robot类的使用者在创建机器人对象的时候指定该对象的name,age,isOn三个实例变量的值,请添加一个构造函数包括这三个参数,并添加一个默认构造函数。c) 添加一个静态变量robotsC

16、reated用来记录机器人创建的个数。更新构造函数里的代码,以使该robotsCreated变量是实时更新的。namespace _074 class Program static void Main(string args) Robot r = new Robot(); = 一; = 1; = true; (机器人的名字为0,年龄为1,开启状态为2, , , ; (现在机器人有0个, ; Robot r2 = new Robot(二, 2, false); (机器人的名字为0,年龄为1,开启状态为2, , , ; (现在机器人有0个, ; static void Main(string ar

17、gs) Robot r = new Robot(); = 一; = 1; = true; (机器人的名字为0,年龄为1,开启状态为2, , , ; (现在机器人有0个, ; Robot r2 = new Robot(二, 2, false); (机器人的名字为0,年龄为1,开启状态为2, , , ; (现在机器人有0个, ; a) 一个方法SportsCheck方法为特定SportsCar对象的maxSpeed和horsePower检测其是否是跑车,是的话返回true,否则为false。为maxSpeed,horsePower,maxSpeedRequirement和horsePowerReq

18、uirement封装属性。b) 写另一个类,包含一个Main方法来证明SportsCar类。 如:(Tom, Julie, Teddy, Mary)或者调用(Peter)再写一个DriverCheck方法,当给其指定一个名字,该方法能够验证该名字是不是合法的驾驶员,如果是则返回true,否则返回false.在另一个类的Main()函数中验证这两个方法。c) 现在其他类需要知道SportsCar类的最低时速要求和最小马达要求,请你为SportsCar类添加一个静态方法GetMinimumRequirements,该方法允许传入两个ref int类型参数,目的是将SprtsCar类的maxSpee

19、dRequirement和horsePowerRequirement两个静态变量传递出去。d) 添加一个测试类Calculator,该类包含一个静态方法NumberCruncher,在该方法中调用SportsCar的GetMinimumRequirements方法,将SprtsCar的最低时速要求和最低马达要求打印出来。e) 为SportsCart类再添加一个方法MostPowerful,该方法用来比较两辆车哪个马力更大,返回马力大的那辆车。f) 为SportsCar类再添加一个方法MostPowerful,利用函数重载,该方法用来比较三辆车那辆马力更大,返回最大马力的那辆车。using Sy

20、stem;using ;using ;namespace _074 class Program static void Main(string args) SportsCar qq = new SportsCar();quals(driver) result = true; break; return result; a) ElectronicDevice成为另外三个类的基类,并包括如下三个成员。1.一个私有的实例变量brandName(string类型)2.一个公有的属性BrandName用来访问brandName3.一个私有的变量isOn(bool类型)还要包括两个方法SwitchOn(该方法必须打印出On,并且将isOn设置为true)以及SwitchOff(该方法必须打印出Off,并且将isOn设置为false)编写合适的测试代码用来测试基类以及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论