C#100道编程题.docx
- 文档编号:26844263
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:18
- 大小:24.83KB
C#100道编程题.docx
《C#100道编程题.docx》由会员分享,可在线阅读,更多相关《C#100道编程题.docx(18页珍藏版)》请在冰豆网上搜索。
C#100道编程题
1.编写一个程序,输入梯形的上底,下底和高,输出梯形的面积。
2.编写一个程序,检查一个字符变量的值是否为T或t。
3.输入三个整数,比较大小,输出最大数值。
4.解一元二次方程的解.
5.输出1-100所有数值。
6.求1-100之间的所有偶数.
7.求1+2+3+…+100的和.
8.编写一个程序,输入三个单精度数,输出其中最小数。
9.编写一条根据变量name的值执行不同操作的switch语句。
如果该变量的值为Robert,则
打印消息”HiBob”;如果为Richard,则打印消息“HiRich”;如果为Barbara,则打印消息
“HiBarb”;如果为Kalee,则打印消息“YouGoGirl!
”;对于其他情况,则打印“Hix”,
其中x为变量name的值。
10.编程输出1~100中能被3整除但不能被5整除的数,并统计有多少个这样的数。
11.输出2000-2100间的所有偶数。
12.随机输入5个数,对这5个数进行升序排序。
13.求你随机输入的10个数的最大值和最小值?
14.打印输出上三角,不能使用直接打印
*
**
***
****
*****
15.从键盘上输入两个整数,由用户回答它们的和,差,积,商和取余运算结果,并统计出正确答案的个数。
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
11
121
1331
14641
1510105
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#源文件,实现字符串的翻转操作。
例如输入:
Helloeveryone,输出enoyreveolleH
38.编一个程序,将上题中加密的字符串(从键盘输入)解密后输出。
39.写一个函数,对给定的Emall字符串做检验。
要求:
1)要求字符串中包含“@”字符与“.”字符。
2)要求字符串中@字符在.字符之前。
40.判断回文字符串。
例如:
rotor就是回文字符串。
41.若某数的平方具有对称的性质,则该数称为回文数,如11的平方为121,称11为回文数。
请找出1-256中所有的回文数。
42.统计文本行中单词的个数。
例如:
输入“Iamastudent”
则程序的运行结果输出为:
4个单词。
43.从键盘上读入一行文本,识别其中单词的个数并分别输出它们。
44.日期的常用格式具有如下两种:
2003-11-29和November29,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.兔子繁殖问题。
设有一对新生的兔子,从第三个月开始他们每个月都生一对兔子,新生的兔子从第三个月开始又每个月生一对兔子。
按此规律,并假定兔子没有死亡,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类的功能进行验证。
58.已知交通工具类定义如下。
classVehicle
{
privateint_length;//长度
privateint_width;//宽度
publicvoidDrive(){};//驾驶方法
}
要求:
(1)实现设个类;
(2)定义并实现一个小车类car,是它的派生类,小车本身的私有属性有载人数,小车的方法有init(设置车轮数、重量和载人数),getpassenger(获取载人数),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)定义一个学生类:
成员定义:
学号stuNumint
姓名namestring
C#语言考试成绩gradeint
2)使用List
增加学生记录、删除记录、显示记录、修改记录。
65.设计一个程序,创建List
并在排序之后输出到控制台。
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传递给它。
调用是在方法头中完成的:
PublicABC (intARG1,intARG2):
base(ARG2)
{
}
73.以“星期几,月份,日和四位年份”格式(如Monday,January1,2002)打印日期值的代码。
74.从键盘输入“helloeveryOne!
!
”,输入后把它们存储到文件中,再从该文件中
读入这些数据并在屏幕上输出,用StreamReader和StreamWriter类实现。
75.定义一个方法,可以追加数据到文件中。
(即不覆盖文件中原有的数据)
方法定义如下:
//追加数据写文本中。
//filePath:
文件路径。
//writeData:
追加写入的数据。
//
publicvoidAppendDataToFile(stringfilePath,stringwriteData);
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,这个方法接受一个代表公里数的参数,将其转换为对等的英里数之后,然后创建一个继承此类的子类,增加可将输入的公斤数转换为磅的新方法KConvert,最后产生子类的实例对象,测试这两个功能。
提示信息:
1千米(公里)=0.62英里
1千克(公斤)=2.2磅.
91.统计文本行中单词的个数。
例如:
输入“Iamastudent”
则程序的运行结果输出为:
4个单词。
92.编写一个控制台应用程序,完成下列功能:
1)创建一个类,用无参数的构造函数输出该类的类名。
2)添加一个重载的构造函数,带有一个String类型的参数,在此构造函数中将传递的字符串打印出来。
3)在Main方法中创建属于这个类的一个对象,不传递参数。
4)在Main方法中创建属于这个类的另一个对象,传递一个字符串“Thisisastring.”。
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>每门功课及格人数和不及格人数。
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将继续录入。
否则返回主界面。
编号:
书名:
出版社:
类别:
4>如果输入Q,回车后,将进入查询的界面,可以查询藏书,形成图书列表(如下表,示例数据)
编号书名出版社类别借阅状态借阅人学生证号
------------------------------------------------------------------------------------
0123c#入门经典人民邮电出版社计算机软件借出张三A123456
------------------------------------------------------------------------------------
A789c#高级编程北京大学出版社计算机软件借出张宇A123789
------------------------------------------------------------------------------------
S234c#入门经典人民邮电出版社计算机软件在馆
------------------------------------------------------------------------------------
2345大学英语人民文学出版社外语在馆
------------------------------------------------------------------------------------
共有图书4册,已借出2册,在馆2册
请输入操作命令:
输入M,将回到主界面
输入X,将退出系统
输入A,进入图书录入
输入B,进入图书借阅
输入R,进入图书归还
否则显示无效的输入,继续接收用户的输入
5>如果输入B,回车后,进入图书借阅的界面
输入学生证号和姓名,如下图:
学生证号:
姓名:
判断学生证号不能超过12位,不能小于6位。
还将判断,如果该学生证号有借出的图书(没有归还),给出提示:
你借阅的《书名》没有归还,请归还后再借阅。
接收用户输入的操作命令。
输入M,将回到主界面
输入X,将退出系统
输入A,进入图书录入
输入B,进入图书借阅
输入R,进入图书归还
通过验证后,进入如下的界面:
请输入要借阅的书籍(支持模糊查询,如输入c#,将查询未借出的C#入门经典和c#高级编程,IndexOf方法,如没有输入,直接回车,将查询出全部未借出的图书)形成列表
编号书名出版社类别
----------------------------------------------------
S234c#入门经典人民邮电出版社计算机软件
----------------------------------------------------
2345大学英语人民文学出版社外语
----------------------------------------------------
输入编号后(如2345),回车后,将输出书名:
大学英语,编号:
2345已借阅成功。
如果输入的编号在上面的列表中不存在,给出提示,继续等待用户输入编号。
完成后,提示请输入操作命令:
输入M,将回到主界面
输入X,将退出系统
输入A,进入图书录入
输入B,进入图书借阅
输入R,进入图书归还
否则显示无效的输入,继续接收用户的输入
6>图书归还
输入学生证号(如下),判断学生证号不能超过12位,不能小于6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 100 编程