C#100道编程题

更新时间:2023-12-01 01:05:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1~35 50~59

《C#编程100例》上机操作题

1. 编写一个程序,输入梯形的上底,下底和高,输出梯形的面积。

2. 编写一个程序,检查一个字符变量的值是否为T或t。

3. 输入三个整数,比较大小,输出最大数值。

4. 解一元二次方程的解.

5. 输出 1-100 所有数值。

6. 求1-100之间的所有偶数.

7. 求1+2+3+…+100的和.

8. 编写一个程序, 输入三个单精度数,输出其中最小数。

9. 编写一条根据变量name的值执行不同操作的switch语句。如果该变量的值为Robert,则

打印消息”Hi Bob”;如果为Richard,则打印消息“Hi Rich”;如果为Barbara,则打印消息

“Hi Barb”;如果为Kalee,则打印消息“You Go Girl!”;对于其他情况,则打印“Hix”,

其中x为变量name的值。

10. 编程输出1~100中能被3整除但不能被5整除的数,并统计有多少个这样的数。

11. 输出2000-2100间的所有偶数。

12. 随机输入5个数,对这5个数进行升序排序。

13. 求你随机输入的10个数的最大值和最小值?

14. 打印输出上三角,不能使用直接打印

* ** *** ****

*****

15. 从键盘上输入两个整数,由用户回答它们的和,差,积,商和取余运算结果,并统计出正确答案的个数。

1~35 50~59

16. 在键盘上接收用户输入的15个整数数值,输入完成后,接收用户输入的指令,

如果用户输入a(大小写不区分)升序排列,如果输入d(大小写不区分)降序排列,否则提示

用户重新输入指令,输出排序前与排序后的数列内容。

17. 定义一个数组, 从键盘上输入3个数值,打印输出最大数值。

18. 编程输出1000以内的所有素数。

19. 分别用for,while,do…while语句编写程序,实现求前n个自然数之和。

20. 编程输出九九乘法表。

21. 建立一个一维数组,使用该数组列出所学习的课程名称。

22. 求第30项斐波那契数列的值。

斐波那契数列例如: 1, 2, 3, 5,8,13,21……

23. 定义名称为computeMethod 的函数,实现加法器。

24. 定义名称为computeMethod2 的函数,实现加减乘除计算器。

25. 编一个函数,对三个整型参数求最大数值,且返回这个最大数值。

26. 定义adding 函数,求1+2+3+ …… +100 的结果。(main 函数只保留调用方法语句)

27. 定义addMethod函数,计算输出1-100 之间的所有奇数的累加和。

28. 定义一个数组,初始化5个数值,打印输出最大数,平均数。

(不要直接写在main函数中,且要求使用方法的手段实现模块化编程思想)

29. 编写程序要求打印出杨辉三角形(要求打印出10行,如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5

1~35 50~59

30. 网上书店购物系统(使用模块化编程思想)

功能描述:统计商品打折情况。 1>输入打折商品的名称、原价。 2>当原价<=300,打9折; 当300<原价<=800,打8.5折; 当800<原价<=1200,打8折; 当1200<原价,打7折; 3>显示商品名称、原价、打折后的价格。

31. 超市管理系统(使用模块化编程思想)

功能描述:统计一次进货的费用。 1>初始化进货商品的种类数(例5种商品) 2>根据种类数,创建三个数组(商品名称、商品数量、商品进价) 3>显示出每种商品的总进价,以及本次进货的总费用。

(提示: 总进价=进价*数量,总费用=每个商品总进价和)

32. 为教师编写一个程序,该程序使用一个数组存储30个学生的考试成绩,并给各个数组元素指定一个1-100的随机值,然后计算平均成绩。

33. 在控制台下接受用户输入的5分制分数1-5 ,并转换为相应的等级输出,对应等级为:不

及格,及格,良好,优秀.3分一下为不及格 34. 在控制台下判断输入的年份是否为闰年

35. 从键盘上输入10个字符,然后按照相反的次序输出。

36. 编一个程序,输入一个字符串,将其中所有的大写英文字母+3,小写英文字母-3. 然后再输出加密后的字符串。 37. 建立一个C#源文件,实现字符串的翻转操作。 例如输入: Hello everyone ,输出 enoyreve

olleH

38. 编一个程序,将上题中加密的字符串(从键盘输入)解密后输出。

39. 写一个函数,对给定的Emall 字符串做检验。

要求: 1)要求字符串中包含“@”字符与“.”字符。 2)要求字符串中@ 字符在 . 字符之前。

40. 判断回文字符串。

例如: rotor 就是回文字符串。

41. 若某数的平方具有对称的性质,则该数称为回文数,如11的平方为121,称11为回文数。

请找出1-256中所有的回文数。

1~35 50~59

42. 统计文本行中单词的个数。

例如: 输入“I am a student”

则程序的运行结果输出为 : 4个单词。

43. 从键盘上读入一行文本,识别其中单词的个数并分别输出它们。

44. 日期的常用格式具有如下两种: 2003-11-29 和 November 29,2003

从键盘读入几行格式的日期,编程输出第二种格式的日期。

45. 有一个已经排好序的数组{12,20,45,56,72,89,91,121,256}。现输入一个数,要求按原来的规律将它插入数组中,且输出。

46. 一个这样的程序:让用户输入其全名,年龄和电话号码,以特定的格式显示这些消息,并显示用户的姓名的首字母。

47. 实现以下要求:

1>接收在键盘上输入的边长,验证是在2-50之间的整数 2>根据输入的边长,打印平行四边形。 如果输入的边长是3,打印如下图形: * * * * * * * *

如输入5,打印出如下的图形: * * * * * * * * * * * * * * *

*

48. 接受用户输入一个小于10的正整数,求出阶乘结果并输出.

例如: n! = 1*2*3*4*.....n 1!= 1 2!= 2 3!= 6 4!= 24 5!= 120

49. 兔子繁殖问题。设有一对新生的兔子,从第三个月开始他们每个月都生一对兔子,新生

1~35 50~59

的兔子从第三个月开始又每个月生一对兔子。按此规律,并假定兔子没有死亡,20个月后共有多少个兔子?要求编写为控制台程序。

50. 实现以下功能:

1>系统随机生成10个4位的正整数(如1234),过滤重复的数字(如不允许1123),然后输出。

注:Random是生成随机数的类

2>随机生成的数据采用加密传输。加密规则如下: 1>每位数字都加上5

2>然后原数字与新数字的和与10取模代替新数字

3>将第一位和第四位交换,第二位和第三位交换,输出最后加密的结果。 例如: 1234 的加密过程是: 1234-->6789-->7913-->3197

3>判断(1)中输出的正整数是否存在素数,如果存在,则输出所有的素数。 素数:只能被1和本身整除的数

51. 设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。

52. 编写一个矩形类,私有数据成员为举行的长(len)和宽(wid),无参构造函数将len和wid设置为0,有参构造函数设置和的值,另外,类还包括矩形的周长.求面积.取举行的长度.取矩形的长度.取矩形的宽度.修改矩形的长度和宽度为对应的形参值等公用方法。

53. 创建一个People类,定义字段 “编号”、“姓名”、“性别”、“年龄”。 定义方法“获得编号”、“获得姓名”、\获得性别\、“获得年龄”, 要求:

1) 方法中调用显示对应的字段。

2) 创建people 类的对象,调用定义的成员方法。

54. 编写一个类Cal1,实现加.减两种运算,然后,编写另一个派生类Cal2,实现乘.除两种运算。

55. 建立三个类:居民,.成人,官员。居民包含身份证号.姓名.出生日期,而成人继承自居民,多包含学历.职业两项数据;官员则继承自成人,多包含党派.职务两项数据。要求每个类中都提供数据输入输出的功能。

56.编写一个类,其中包含一个排序的方法Sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。

57. 编写出一个通用的人员类(Person),该类具有姓名(Name).年龄(Age).性别(Sex)等域。然后对Person 类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩,要求对该类的构造函数进行重载,至少给出三个形式。最后编程对student类的功能进行验证。

1~35 50~59

58. 已知交通工具类定义如下。 class Vehicle {

private int _length; //长度 private int _width; //宽度

public void Drive(){}; //驾驶方法 }

要求:(1)实现设个类;(2)定义并实现一个小车类car,是它的派生类,小车本身的私有属性有载人数,小车的方法有init(设置车轮数、重量和载人数),get passenger(获取载人数),print(打印车轮数、重量和载人数)。

59. 编写一个学生和教师的数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类。

60. 写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度。

2)输出字符串中第一个出现字母a的位置。 3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。 4)将字符串“hello”替换为“me”,输出新字符串。

5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串

61. 在键盘上接收用户输入的15个整数数值,输入完成后,接收用户输入的指令,

如果用户输入a(大小写不区分)升序排列,如果输入d(大小写不区分)降序排列,否则提示用户重新输入指令

输出排序前与排序后的数列内容。

62. 编写一个冒泡法排序程序,要求在程序中能够捕获到数组下标越界的异常。

63.编写一个计算器程序,要求在程序中能够捕获到被0除的异常与算术运算溢出的异常。

64. 1)定义一个学生类: 成员定义:

学号 stuNum int 姓名 name string

C#语言考试成绩 grade int

2)使用List 和Dictionary,分别对学生类进行管理: 增加学生记录、删除记录、显示记录、修改记录。

1~35 50~59

65. 设计一个程序,创建List对象,存储利用Random 类产生的10个随机数值, 并在排序之后输出到控制台。

66. 使用List类代替数组,做门票系统。 1>、当age<20,“儿童票”。 当20<=age<65,“成人票”。 当65<=age,“老年票”。 2>、打印出姓名和对应的票。

67. 有一个已经排好序的数组{12,20,45,56,72,89,91,121,256}。

现输入一个数,要求按原来的规律将它插入数组中,且输出, 使用List类。

68. 实现打字系统的以下功能

1>系统随机显示10个字符(都为小写的英文字母),控制台回车后接收用户的在键盘上输入的字符串。

2>输入完成并回车后,输出显示结果(正确字符则显示原字符,错误的字符或没有输入的字符用#标识出来,多输入的字符不做处理)。 3>重复执行 1>. 2>步骤4次(共循环5次)

4>统计共键入正确的字符个数.错误的字符个数和正确率(百分比)。

69. 自定义一个随机类,可以产生如系统的Random类中的相似功能,不能使用任何已知系统随机类(20分)

(例如系统的Random类,java中Math类中的Random方法)详细描述如下: 1>接收用户在键盘上输入的正整数n(验证范围在1到100之间),随机生成并输出从1到n之间的任意一个整数

2>接收用户在键盘上输入的字符s(验证是小写的英文字母),随机生成并输出从a到s之间的任意一个字符

70. 设计一个利用循环执行1到100的加运算,当程序循环执行1到50的时候,令其暂停5妙,然后继续执行,直至程序结束。

71. 创建一个带有3个子线程的程序,第一个线程序启动10毫秒后,第二个线程再启动,然后再等10毫秒后第三个线程启动,每一个线程从1~1000循环输出线程的名称和计数,当3个线程结束时要输出各自的结束信息,然后,主线程结束。

72.编写为ABC类声明构造函数的方法头,它接受两个int 参数ARG1和ARG2。该构造函数调用基类的构造函数,并将ARG2传递给它。调用是在方法头中完成的:

Public ABC ( int ARG1,int ARG2 ):base (ARG2)

{ }

1~35 50~59

73. 以“星期几,月份,日和四位年份”格式(如Monday,January 1,2002) 打印日期值的代码。

74. 从键盘输入“hello everyOne!!”,输入后把它们存储到文件中,再从该文件中

读入这些数据并在屏幕上输出,用StreamReader 和 StreamWriter 类实现。

75. 定义一个方法,可以追加数据到文件中。(即不覆盖文件中原有的数据) 方法定义如下:

//追加数据写文本中。 //filePath: 文件路径。

//writeData: 追加写入的数据。 //

public void AppendDataToFile(string filePath, string writeData); 76. 为Iid的接口编写代码,该接口只包含一个名为ID的属性成员。

77. 声明一个名为Iposition的接口的代码。该接口包含一个接受一个Point值,并返回一个布尔值的方法。

78.创建一个程序,它使用二进制文件方法来写文件。创建一个用于存储人的姓名.年龄.会员资格的结构。将这些信息写入文件中(提示:年龄可以是整数,会员资格可以是布尔型)。

79.创建一个程序,从控制台读取文本,并将其写入到文件中。用户输入一个空行,表示结束输入。

80. Lucy是工作在一个IT的一个软件开发人员,她现在子一个几何计算的项目中,Lucy必须开发一个程序,它完成下面的任务: 1>计算圆的面积 2>计算立方体的面积 要求必须使用接口。

88. 一个控制台应用程序,要求用户输入5个大写字母,如果用户输入的信息不满足要求,提示帮助信息并要求重新输入。

89. 一个控制台应用程序,要求完成写列功能。 1)接收一个整数n。

2)如果接收的值n为正数,输出1~n间的全部整数。

3)如果接收的值n为负值,用break或者return退出程序。 4)转到A继续接收下一个整数。

90. 设计一个基类,在其中创建方法MConvert,这个方法接受一个代表公里数的参数,将其转换为对等的英里数之后,然后创建一个继承此类的子类,增加可将输入的公斤数转换为

1~35 50~59

磅的新方法 KConvert, 最后产生子类的实例对象, 测试这两个功能。 提示信息:

1千米(公里) = 0.62英里 1千克(公斤) = 2.2磅.

91. 统计文本行中单词的个数。 例如: 输入“I am a student”

则程序的运行结果输出为 : 4个单词。 92.编写一个控制台应用程序,完成下列功能:

1)创建一个类,用无参数的构造函数输出该类的类名。

2)添加一个重载的构造函数,带有一个String类型的参数,在此构造函数中将传递的字符串打印出来。

3)在Main方法中创建属于这个类的一个对象,不传递参数。

4)在Main方法中创建属于这个类的另一个对象,传递一个字符串“This is a string.”。 5)在Main方法中声明类型为这个类的一个具有5个对象的数组,但不要实际创建分配到数组里的对象。

6)写出运行程应该输出的结果。 93.编写一个控制台应用程序,定义一个类 MyClass,类中包含有public.private以及protected数据成员及方法。然后定义一个从MyClass类继承的类MyMain,将Main方法放在MyMain中。在Main方法中创建MyClass类的一个对象,并分别访问类中的数据成员及方法。要求注明在试图访问所有类成员时哪些语句会产生编译错误。

94.创建一个类包含有protected数据。在相同的文件里创建第二个类,用一个方法操纵第一个类里的protected数据。

95.编写一个控制台应用程序,完成下列功能,并回答提出的问题。 1)创建一个类A,在构造函数中输出“A”,在创建一个类B,在构造函数中输出“B”。 2) 从A继承一个名为C的新类,并在C内创建一个成员B。不要为C创建构造函数。 3)在Main方法中创建类C的一个对象,写出运行程序后输出的结果。 4)如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么?

96.编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。

1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值后加10后的结果。

2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。

3)在Main方法中分别创建A和类B的对象,并分别调用MyMethod方法。

97. 接收用户输入的30名学生信息,接收内容包括姓名、学号、数学成绩、英语成绩、政治成绩。并输出以下信息: 1>计算平均成绩后输出学生的姓名,学号,平均成绩。 2>每门功课及格人数和不及格人数。

1~35 50~59

3>平均成绩在80分以上的学生人数。 98. 实现自动抽题系统的以下功能

1> 从100道考试题(序号从1到100)中随机抽取10道考试题。注:Random是生成随机数的类

2> 要求抽取的10道考试题的序号不能重复。

3> 对抽取10个考试题的序号进行升序排列,并输出显示。 4> 将排好序的考试题号进行加密且输出,加密规则如下: 将数字0改为a,数字1改为b ...数字9改为j 注: 例如考试号23表示为cd 考试号16表示为bg

99. 实现打字系统的以下功能 1>系统随机显示10个字符(都为小写的英文字母),控制台回车后接收用户的在

键盘上输入的字符串。

2>输入完成后并回车后,输出显示结果(正确字符则显示原字符,错误的字符用#标识出来)。

3>重复执行 1>、 2>步骤4次(共循环5次) 4>统计键入正确的字符个数,错误的字符个数,以及正确率(百分比)。

100. 课程设计《图书管理系统》

功能模块 1>系统登陆

正确的用户名为admin,密码为admin123,判断用户名和密码是否正确,如果正确,进入到主界面,

否则输出用户名或密码不正确的提示。如果连续错误输入三次,拒绝输入,退出系统。

2>登陆之后,显示以下的界面:

欢迎使用图书管理系统。请输入快捷键进入相关的功能模块

1.图书录入(A) 2.图书查询(Q)

3.图书借阅(B) 4.图书归还(R)

5.退出系统(X)

3>如果输入A,回车后,将登陆图书录入模块。录入图书的档案信息(如下图), 其中图书编号为4位,且不能重复。最后输入完成并回车后,询问是否继续录入,输入Y将继续录入。 否则返回主界面。

1~35 50~59

编号: 书名: 出版社: 类别:

4>如果输入Q,回车后,将进入查询的界面,可以查询藏书,形成图书列表(如下表,示例数据)

1~35 50~59

编号 书名 出版社 类别 借阅状态 借阅人 学生证号

------------------------------------------------------------------------------------

0123 c#入门经典 人民邮电出版社 计算机软件 借出 张三 A123456

------------------------------------------------------------------------------------

A789 c#高级编程 北京大学出版社 计算机软件 借出 张宇 A123789

------------------------------------------------------------------------------------

S234 c#入门经典 人民邮电出版社 计算机软件 在馆 ------------------------------------------------------------------------------------

2345 大学英语 人民文学出版社 外语 在馆 ------------------------------------------------------------------------------------ 共有图书4册,已借出2册,在馆2册

请输入操作命令:

输入M,将回到主界面 输入X,将退出系统 输入A,进入图书录入 输入B,进入图书借阅 输入R,进入图书归还

否则显示无效的输入,继续接收用户的输入

5>如果输入B,回车后,进入图书借阅的界面 输入学生证号和姓名,如下图: 学生证号: 姓名:

判断学生证号不能超过12位,不能小于6位。

还将判断,如果该学生证号有借出的图书(没有归还),给出提示:你借阅的《书名》没有归还,请归还后再借阅。接收用户输入的操作命令。 输入M,将回到主界面 输入X,将退出系统 输入A,进入图书录入 输入B,进入图书借阅 输入R,进入图书归还

通过验证后,进入如下的界面:

请输入要借阅的书籍(支持模糊查询,如输入c#,将查询未借出的C#入门经典和c#高级编程,IndexOf方法,如没有输入,直接回车,将查询出全部未借出的图书)形成列表

编号 书名 出版社 类别

1~35 50~59

----------------------------------------------------

S234 c#入门经典 人民邮电出版社 计算机软件 ----------------------------------------------------

2345 大学英语 人民文学出版社 外语 ----------------------------------------------------

输入编号后(如2345),回车后,将输出 书名:大学英语,编号:2345已借阅成功。 如果输入的编号在上面的列表中不存在,给出提示,继续等待用户输入编号。 完成后,提示请输入操作命令: 输入M,将回到主界面 输入X,将退出系统 输入A,进入图书录入 输入B,进入图书借阅 输入R,进入图书归还

否则显示无效的输入,继续接收用户的输入

6>图书归还

输入学生证号(如下),判断学生证号不能超过12位,不能小于6位。 学生证号:

还将判断,如果该学生证号没有借出的图书,给出提示:你没有借阅的图书。继续提示用户输入学生证号

否则,将出现下面的提示: 你借出的图书是:

编号 书名 出版社 类别 ----------------------------------------------------

2345 大学英语 人民文学出版社 外语 你确实要归还该图书吗?(Y确定归还,N不归还) 输入Y,输出《书名》已归还,欢迎借阅。 输入N,输出《书名》暂不归还

否则显示无效的输入,继续等待用户的输入。 完成后,请输入操作命令:

输入M,将回到主界面 输入X,将退出系统 输入A,进入图书录入 输入B,进入图书借阅 输入R,进入图书归还

本文来源:https://www.bwwdw.com/article/ocft.html

Top