《《C#程序设计》练习题》由会员分享,可在线阅读,更多相关《《C#程序设计》练习题(13页珍藏版)》请在金锄头文库上搜索。
1、C#考试题库一、简单题1.把输入的字符串 str1 中的内容逆置,并保存到字符串 str2 中,输出 str2 的内容。例如:str1=“abc”,str2 则为cba。2.已知三角形三条边长 a,b,c,三边由用户输入,计算三角形面积公式为: s=0.5*(a+b+c) area= 求三角形的面积 area。3.输入一个字符串 str1,删除 str1 中其中所有的小写字符 a,输出处理后的字符串。4.输入 7 个数,计算平均值,并把低于平均值的数据输出。5.输入 7 个数,计算平均值,并把高于平均值的数据输出。6.输入 10 个数,找出其中最大数和次最大数。7.输入 10 个数,找出其中最
2、小数和次最小数。8.输入若干(不超过 10 个)有序的正整数,对于相同的数据只保留一个,输出保留的数据。例如,输入数据是: 2,2,2,3,3,4,5,5,6,6,9,9,9,10,10,10 最终的输出结果是: 2,3,4,5,6,9,10。9.输入由数字字符组成的字符串,将其转换成为一个整数。例如若输入字符串3425,得到结果为整数值 3425。10.输入 20 个正整数,把其中的奇数和偶数分别保存并输出。11.从终端输入 3 个数 a、b、c,按从大到小的顺序输出。12.从键盘读入 20 个数据到数组中,统计其中正数的个数,并计算这些正数之和。13.求 n 以内(不包括 n)同时能被 3
3、 和 7 整除的所有自然数之和的平方根 s,n 从键盘输入。例如若 n 为 1000 时,函数值应为:s=153.909064。14.输入 110 之间的一个数字,输出它对应的英文单词。例如输入 1 输出 one。15.个位数为 6 且能被 3 整除但不能被 5 整除的三位自然数共有多少个,统计个数,并输出这些数。16.输入一个字符串,用 foreach 语句计算输入的字符串的长度,并显示长度。17.输入 10 个数,分别统计其中正数、负数、零的个数。18.计算:1/2-2/3+3/4-4/5前 100 项。19.斐氏数列是公元 13 世纪数学家斐波拉契发明的。即:1,2,3,5,8,13,2
4、1,34,55,89,输出其前 15 项。20.从终端输入 3 个数 a、b、c,按从小到大的顺序输出21.接收用户输入的一个正整数 N,计算并输出它的阶乘(N!=1*2*3*N).22.接收用户输入的一个正整数 N,求 1+2+3+N 的值并输出。23.接收用户输入的一个正整数 N,计算 1 到 N 的平方和。24.接收用户输入的两个数,判断两个数是否能整除。二、方法题(注意这些方法要在主函数里面调用测试是否正确)1.写一个方法,判断一个字符串 str1,是否是回文,例如字符串 str1,判断其是否为回文,是回文返回 true,否则返回 false。回文是指顺读和倒读都一样的字符串。 例如字
5、符串LEVEL 是回文,而字符串 12312 就不是回文。2.写一个方法,统计一个字符串中单词的个数,返回值为单词个数。规定所有单词由小写字母组成,单词之间由若干个空格隔开。例如若输入字符串 it is a book ,得到结果为 4。3.写一个方法,判断的一个正整数是否是素数,返回值为 boolean 类型。4.输入一个字符串 str1,统计 str1 中英文字母、数字字符、空格和其他它符号的个数并输出。5.写一个方法,对正整数 m 求和,其中求和公式为 s= 1/(1*2)+1/(2*3)+1/(m*(m+1),方法返回 s 的值。6.写一个方法,将一个字符串中所有数字字符前加一个$字符,
6、并返回处理后的字符串。例如输入:A1B23CD45,则方法返回值为:A$1B$2$3CD$4$57.写一个方法,将字符中所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。方法返回转变后的字符串。str=AbC 转变为串为=aBc8.写一个方法,对一个字符串,按如下规则加密:如果是英文字母则大写变小写、小写变大写,对非英文字符则保持不变。返回值为返回加密字符串。9.写一个方法,对两个整数 m 和 n 求其最大公约数,并作为返回值返回。10.写一个方法,对两个整数 m 和 n 求其最小公倍数,并作为返回值返回。11.写一个方法,求 s=a+aa+aaa+aaaa+aa.a 的值,
7、其中 a 是用户定义的数字。例如2+22+222+2222+22222(此时共有 5 个数相加),返回值为和 s。12.写一个方法,判断一个数是否是完数,返回值为 boolean 类型。一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如 6=123。13.写一个方法,求分数序列:2/1,3/2,5/3,8/5,13/8,21/13.的前 20 项之和,并返回。14.写一个方法,求 1+2!+3!+.+n!的和,并将和作为返回值返回15.写一个方法,对 4 位整数进行加密,加密规则如下:每位数字都加上 5,然后用和除以10 的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,
8、该方法返回加密后的数字。16.在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1100 分。选手最后得分为:去掉一个最高分和一个最低分后其余 8 个分数的平均值。请编写一个方法实现。17.写一个方法,在一个的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词,并将最长单词作为方法返回值返回。18.写一个方法,对于给定一个日期,返回该日为星期几。例如 2002-3-28 返回星期四。方法总结 1d2m4y/计算当前日期的星期string weekstr = DateTime.Now.DayOfWeek.ToString();switch (weekstr)case
9、Monday: weekstr = 星期一; break;case Tuesday: weekstr = 星期二; break;case Wednesday: weekstr = 星期三; break;case Thursday: weekstr = 星期四; break;case Friday: weekstr = 星期五; break;case Saturday: weekstr = 星期六; break;case Sunday: weekstr = 星期日; break;基姆拉尔森计算公式19.写一个方法,随机产生20个10,50的正整数存放到数组中,并输出数组中的所有元素最大值、最小值
10、、平均值及各元素之和。 Random ran = new Random();n = ran.Next(10, 50);20.已知一个数列的前三项分别为 0,0,1,以后的各项都是其相邻的前三项之和,写一个方法,求计算并返回该数列前 n 项的平方根之和 sum。例如,当 n10 时,方法的返回结果应为:23.197745。21.编写一个方法,判断一个数是否能被 3 整除但不能被 5 整除,编写控制台应用程序,输出 1-1000 以内的所有能被 3 整除但不能被 5 整除的数。22.编写一个方法,计算:1-2+3-4+5.N,要求编写控制台应用程序,来检验方法的正确性。23.编写一个方法,判断一个
11、三位数是否等于其每位数字的立方和,例如 153=13+53+33,要求编写控制台应用程序,来检验方法的正确性。24.编写一个方法,判断一个数是否既能被 3 整除又能被 7 整除,要求编写控制台应用程序,来检验方法的正确性。三、类设计1.设计雇员类(Employee)及其子类经理类(Manager) ,雇员类包含私有成员字段name,salary;并包含其属性 Name,Salary;经理类还有自己的私有成员字段 bonus,及其对应属性 Bonus;雇员类、经理类都要有自己的无参、有参构造方法;在 main 中创建一个经理对象并设置其奖金金额,另建立员工数组(经理作为其一个元素),要求打印输出
12、该员工数组的姓名和薪水信息。2.设计学生类(Student)及其子类研究生类(Graduate),学生类包含私有成员字段name,credit(学分);并包含其属性 Name,Credit;研究生类包含自己的私有变量postcredit;并并包含其属性 Postcredit,学生类(Student)及其子类研究生类(Graduate)要有自己的无参、有参构造方法;现需创建一个研究生对象并设置其 postcredit,另建立学生数组(研究生作为其一个元素) ,要求打印输出该学生数组的姓名和学分信息。3.定义一个名为 Vehicles 交通工具的基类:该类中包含私有的 string 类型的成员字段
13、 brand 商标和 color 颜色,并设置其相应的公有属性;类中包含成员方法 Run 来模拟交通工具开动,该方法在控制台显示“我已经开动了”信息;类中包含成员方法和 ShowInfo 来显示信息,该方法在控制台显示商标和颜色;完成父类的无参有参构造方法,编写 Car 小汽车类继承于 Vehicles 类,对于此类:增加 int 型成员字段 seats 座位,并设置其相应的公有属性;增加成员方法 ShowCar,在控制台显示小汽车的信息并编写构造方法。覆盖父类的 Run 方法,在控制台显示“汽车开动了的信息” ;完成小汽车类的无参有参构造方法;在 main 方法中测试以上各类。4.定义一个名
14、为 Vehicles 交通工具的基类:该类中包含私有的 string 类型的成员字段 brand 商标和 color 颜色,并设置其相应的公有属性;类中包含成员方法 run 来模拟交通工具开动,该方法在控制台显示“我已经开动了”信息;类中包含成员方法 ShowInfo 来显示信息,该方法在控制台显示商标和颜色完成父类的无参有参构造方法;编写 Truck 卡车类继承于 Vehicles 类对于此类:增加 float 型成员字段 load 载重,并设置其相应的公有属性;应增加成员方法 showTruck 在控制台显示卡车的信息;完成卡车类的无参有参构造方法;覆盖父类的 run 方法,在控制台显示“
15、开车开动了的信息” ;并编写构造方法。在 main 方法中测试以上各类。5.创建一个名称为 Vehicle 的接口:在接口中添加两个无参的方法 Start()和 Stop()描述车辆的启动和停止。创建 Bike 自行车类:该类包含私有的 int 类型的成员字段 wheel 车轮个数,并设置其相应的公有属性;完成该类的无参有参构造方法;实现 Vehicle 接口的两个方法;创建 Bus 公共汽车类:该类包含私有的 int 类型的成员字段 seat 座位个数,并设置其相应的公有属性;完成该类的无参有参构造方法;实现 Vehicle 接口的两个方法;在 main 方法中定义 Vehicle 数组,并
16、存放 Bike 和 Bus 对象,来测试以上各类。6.定义一个宠物类(Pet):该类包括两个方法:叫 Cry(),吃东西 Eat();该类中定义私有的成员字段 name 姓名和 age 年龄,并设置其相应的公有属性;完成该类的无参有参构造方法;定义宠物的子类狗(Dog):覆盖父类的 Cry(),Eat()方法;增加方法看门 GuardEntrance()完成该类的无参有参构造方法;定义宠物的子类猫(Cat):覆盖父类的 Cry(),Eat()方法;增加猫自己独有的方法捉老鼠 HuntMice();完成该类的无参有参构造方法;在 main 中定义两个 Pet 变量,pet1,pet2,采用引用转型实例化 Dog,Cat,分别调用 Pet 的Cry(),Eat();将 Pet 强制转换为具体的 Dog,Cat,在调 Dog 的 GuardEntrance() ,Cat 的HuntMice(