




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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) Console.WriteLine(请输入3个数:按回车结束); int a, b, c, temp; a = int.Parse(Console.Re
4、adLine();/定义一个输入值a; b = int.Parse(Console.ReadLine();/定义一个输入值b; c = int.Parse(Console.ReadLine();/定义一个输入值c; temp = Max(a, b, c);1 / 46 Console.WriteLine(a=0,b=1,c=2,三个数中最大值为3, a, b, c, temp); /074 陈振华 static int Max(int a, int b, int c) int temp = a;/把a的值付给temp; if (temp b) temp = b; if (temp c) tem
5、p = c; return temp; 2、 编写一个函数,函数名为PrintTriangle,用来打印n阶的正三角形。并在Main函数中实现从屏幕中输入n的值,然后根据给定的n的值打印出相应的正三角形。当n=7时, * * * * * *当n=5时, * * * *代码:namespace _1 class Program static void Main(string args) int a; Console.WriteLine(请输入你想要打印出的三角形的行数); a = int.Parse(Console.ReadLine(); PrintTriangle(a); /074 陈振华 s
6、tatic void PrintTriangle(int a) for (int i = 1; i =a; i+) for (int j = i; j 0; x-) Console.Write(*); Console.WriteLine(); 3、 输入某年某月某日,判断这一天是这一年的第几天?。要求:需写一个函数,给定年月日,求的该天处于该年的第几天。然后在Main函数中测试。代码:namespace _1 class Program static void Main(string args) int year, month, day; Console.WriteLine(请输入年份); y
7、ear = int.Parse(Console.ReadLine(); Console.WriteLine(请输入月份); month = int.Parse(Console.ReadLine(); Console.WriteLine(请输入日期); day = int.Parse(Console.ReadLine(); Console.WriteLine(0年1月2日处于该年的第3天, year, month, day, Cs(year, month, day); static int Cs(int year, int month, int day) int sum = 0; for (in
8、t i = 1; i 2) sum = sum - 1; return sum; 4、 给定一个大于三的奇数n,打印出相应的三角形。如n=7时的形状如下:*代码;class Program static void Main(string args) int a; Console.WriteLine(请输入你想要打印出的三角形的行数,该数必须是大于三的奇数); a = int.Parse(Console.ReadLine(); if (a % 2 = 1 & a = 3) PrintTriangle(a); else Console.WriteLine(该数不是大于三的奇数); / /074 陈
9、振华 / / static void PrintTriangle(int a) for (int i = 1; i = a / 2 + 1; i+) Console.Write(*); for (int x = 1; x 0; i-) Console.Write(*); for (int x = i - 1; x 0; x-) Console.Write(*); Console.WriteLine(); 要求:编写一个函数,给定一个n,打印出相应的三角形,若n不是奇数,则提示说n的值必须为奇数。5、 给一个正整数,要求:a) 写一个函数求出它是几位数。b) 写一个函数,分别输出每一位数字。c)
10、 写一个函数,按逆序输出各位数字,例如原数位123,则输出321.最后在main函数中测试结果代码:namespace ConsoleApplication1 class Program static void Main(string args) int a, r; Console.WriteLine(请输入一个正整数); a = int.Parse(Console.ReadLine(); r = C105(a); Console.WriteLine(该数是0位数, r); int A = Db(a); Shuzhu(A); Cs(A); static int C105(int a) int
11、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) data-count = a % 10; a = a / 10; return data; static void Shuzhu(int A) for (int i = 0; i A.Length; i+) Console.Write(0 ,Ai); Console.WriteLine(); static void Cs(int A) for (i
12、nt i = 0; i A.Length / 2; i+) int temp = Ai; Ai = AA.Length - i - 1; AA.Length - i - 1 = temp; Console.WriteLine(倒叙输出后的结果为); for (int i = 0; i A.Length; i+) Console.Write(0 , Ai); Console.WriteLine(); 6、 请编写一个函数,计算出从m到n的数的和,比如m=3,n=300,则计算出从3一直加到300的和。并在Main函数中调用测试。要求:1) 写个函数采用for语句实现该功能。2) 写个函数采用wh
13、ile语句实现该功能。3) 写个函数采用dowhile语句实现该功能。代码:namespace ConsoleApplication1 class Program static void Main(string args) int a,b; Console.WriteLine(请输入两个正整数分,别按回车结束); a = int.Parse(Console.ReadLine(); b = int.Parse(Console.ReadLine(); For(a, b); While(a, b); Dowhile(a, b); static void For(int a, int b) int s
14、um = 0; for (int i = a; i = b; i+) sum = sum + i; Console.WriteLine(从0到1的所有数的和=2,a,b,sum); /074 陈振华 static void While(int a, int b) int sum = 0,i=a; while (i = b) sum = sum + i; i+; Console.WriteLine(从0到1的所有数的和=2, a, b, sum); static void Dowhile(int a, int b) int sum = 0, i = a; do sum = sum + i; i+
15、; while (i = b); Console.WriteLine(从0到1的所有数的和=2, a, b, sum); 7、 写一个函数,判断给定的一个正整数是否是素数,并在Main函数中测试。8、 代码:namespace ConsoleApplication1 class Program static void Main(string args) int m, a; m = int.Parse(Console.ReadLine(); a = Sushu105(m); if (a = 0) Console.WriteLine(这个数是素数, a); else Console.WriteLi
16、ne(这个数不是是素数, a); static int Sushu105(int m) int a = 0; for (int i = 2; i m; i+) if (m % i = 0) a+; return a; 9、 写一个函数,返回给定mn之间的所有素数。再写一个函数,打印出给定一个数组中的所有元素。并在Main函数中测试。10、 代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1 class Program
17、static void Main(string args) Console.WriteLine(请输入两个数); int a, b; a = int.Parse(Console.ReadLine(); b = int.Parse(Console.ReadLine(); /bool result = IsSushu(6); /Console.WriteLine(result); int wuxinglin = Suzhu(a, b); Console.WriteLine(0到1之间的所有素数如下, a, b); Daying(wuxinglin); / / 获取所有a到b之间所有的素数 / /
18、/ / static int Suzhu(int a, int b) int count = Geshu(a, b); int wuxinglin = new intcount; int d = 0; for (int i = a; i = b; i+) if (IsSushu(i) wuxinglind = i; d+; return wuxinglin; / / 返回两个数之间所有的素数的个数0 / / / / static int Geshu(int a, int b) int c = 0; for (int i = a; i = b; i+) if (IsSushu(i) c+; re
19、turn c; / / 判断一个数是不是素数,如果是返回turn,否则返回false / / / static bool IsSushu(int m) bool result = true; for (int i = 2; i = (int)Math.Sqrt(m); i+) if (m % i = 0) result = false; break; return result; / / 给定一个数组打印出该中所有的元素 / / static void Daying(int wuxinglin) for (int i = 0; i 0) result.Insert(0,a%2); a = a
20、/ 2; return result.ToString(); 13、 编写一个函数,返回给定一个正整数m的n位二进制表示方法,若n小于实际给定数m的二进制位数,则返回其真实位数。比如m=100,n=3,则返回1100100比如m=100,n=8,则返回001100100代码:namespace _1 class Program static void Main(string args) Console.WriteLine(请输入一个正整数,按回车键结束); int a = int.Parse(Console.ReadLine(); Console.WriteLine(请输入你想返回的二进制的位
21、数); int b = int.Parse(Console.ReadLine(); string result = Zhuanhua(a, b); Console.WriteLine(输入的数0被转化为二进制后1位的结果为2, a,b,result); static string Zhuanhua(int a,int b) StringBuilder result=new StringBuilder(); int count = 0; while (a 0) result.Insert(0,a%2); a = a / 2; count+; for (int i = count; i = b;
22、i+) result.Insert(0, 0); return result.ToString(); 14、 写一个函数,实现对给定一个整型数组中的每个元素进行逆序重新存放。例如,原来顺序为1,3,6,5,7,。要求改为7,5,6,3,1。并在Main函数中测试。15、 代码: namespace _074 class Program static void Main(string args) Console.WriteLine(请输入一个整形数组中间用逗号隔开如10,11,12); string a = Console.ReadLine(); string tempData = a.Spli
23、t(,); int data = new inttempData.Length; for (int i = 0; i tempData.Length; i+) datai = int.Parse(tempDatai); data = Shuzhu(data); Console.WriteLine(逆序输出后的数组如下); Daying(data); static int Shuzhu(int data) int temp; for (int i = 0; i data.Length/2; i+) temp = datai; datai = datadata.Length - i - 1; da
24、tadata.Length - i - 1 = temp; return data; static void Daying(int data) for (int i = 0; i data.Length; i+) Console.Write(0, datai); 16、 写一个函数,给定一个数n,要求返回n行的杨辉三角形。并在Main函数中测试。17、 代码:namespace _074 class Program static void Main(string args) Console.WriteLine(请输入要打印的杨辉三角的行数,按回车结束!); int n = int.Parse(
25、Console.ReadLine(); Console.WriteLine(0行的杨辉三角如下:, 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
26、 + datai - 2, j - 1; for (int i = 1; i = n; i+) for (int j = 1; j 0) result.Append(n % 10); n = n / 10; return int.Parse(result.ToString(); 20、 简单计算器a) 用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 static void Main(string args) Console.WriteLine(请输入要计算的
27、表达式,格式为操作数1 操作符 操作数2,如1+2); string input = Console.ReadLine(); stringtemp=input.Split( ); double result = Compute(double.Parse(temp0), double.Parse(temp2), temp10); Console.WriteLine(0=1, input, result); static double Compute(double numOne, double numTwo, char oper) double result = 0; switch (oper)
28、case+: result = numOne + numTwo; break; case-: result = numOne - numTwo; break; case*: result = numOne * numTwo; break; case/: result = numOne / numTwo; break; return result; b) 如果要求连续做多次算术运算,每次运算结束后,程序都给出提示:Do you want to continue(Y/N or y/n)?用户输入Y或y时,程序继续进行其他算术运算;否则程序退出运行状态。那么,程序如何修改?代码: static vo
29、id Main(string args) string goOn = Y; while (goOn = Y) Console.WriteLine(请输入要计算的表达式,格式为操作数1 操作符 操作数2,如1+2); string input = Console.ReadLine(); string temp = input.Split( ); double result = Compute(double.Parse(temp0), double.Parse(temp2), temp10); Console.WriteLine(0=1, input, result); Console.Write
30、Line(要继续吗?继续按(N/Y),其他键退出); goOn = Console.ReadLine().ToUpper(); 21、 猜数游戏在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果按下列要求循序渐进地编程实现,会发现其实这个程序是很容易实现的。那么,现在就开始吧,先编写第1个程序,然后试着在第1个程序的基础上编写第2个程序,a) 程序1 编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大(Too high)还是小(Too low),然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。 b) 程序2编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。 c) 程序3 编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则结束游戏,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮保管考试题及答案
- 大厂技工考试题及答案
- 2025年中级会计实务考试试题及答案解析
- 大学诊断试题及答案
- 档案培训测试题及答案
- 门窗幕墙合作协议模板
- 大学历史试题及答案
- 2025年工程法规考试内容的全面解析试题及答案
- 行政法学考点总结试题与答案
- 创建良好学习环境的工作计划
- 临床尿动力学检查实施演示文稿
- 新旧物业公司交接管理流程
- YS/T 394-2007钽精矿
- GB/T 17193-1997电气安装用超重荷型刚性钢导管
- ETF融资融券的应用策略课件
- 东芝空调用户使用手册
- 全国卷高考标准语文答题卡作文纸3栏800字版
- DB32T 4284-2022 居民住宅二次供水工程技术规程
- 放射性物品道路运输申请表样表
- 110kV变电站高压试验报告完整版
- TSG Z7001-2004 特种设备检验检测机构核准规则
评论
0/150
提交评论