C#编程习题.doc
《C#编程习题.doc》由会员分享,可在线阅读,更多相关《C#编程习题.doc(55页珍藏版)》请在咨信网上搜索。
C#编程习题 以下有18道习题(当然,这并非全部的习题,最后应该会多增加2题,共20题),对于这20道题目,要求大家每道题目都能够做到看到题目,不看其他参考材料的情况下,能够实现出来。期末考将会从中抽取三道题目(分数占60分),而期末考其实是要出三份试卷的。所以总的需要从这份里面抽9道题目。也就是这20题中有9题是肯定会出现在试卷中的。 对于本科目最后成绩的说明: 总评成绩=平时成绩*50%+期末成绩*50% 平时成绩与期末成绩都是100分制的。 平时成绩=出勤课堂纪律情况*40%+作业完成情况*60% 对于作业完成情况的说明: 对于之前的作业,不管是否有提交,我都不再追究。我只要求从发这份习题给你们开始,每周要按顺序完成如下的5道题目,把每道题目都自己理解完实现出来之后再交上来。 我知道要把这20题都弄懂,不是一件容易的事情,但不是不可能。 第一, 我会提供一些材料,大家可以先把这些材料看一遍,大体有个印象,当遇到问题的时候,也要学会查找对应材料来解决问题。 第二, 下面的每道题目,我都将会给出参考答案。当然是以截图的方式。也会在关键代码附上相应的注释。 还有一句话,希望能与大家共勉。“学习,从来都是一个自觉的过程。遇上一个好老师,会让你少走很多弯路,但不是替代你学习。遇上一个不够好的老师,或许会多走些弯路,但不代表你就学不好。事在人为,只要自己有心,外界条件再差也是可以攻克的;若是无心,外界条件再好,也会成为你的借口。” 最后,再回到我们这门课的现实。能否取得好成绩,能否不挂科,取决于你,而不取决于我。规则我都已经说清楚了,最后结果如何我说了不算,你的实际行动和实际成绩说了算。 1、 编写一个函数,函数名为Max,该函数用来获取给定三个整数的最大值。在Main函数中实现从屏幕中读取三个整数,然后输出这三个整数中最大的那个数的功能。 namespace _1 { class Program { static void Main(string[] args) { Console.WriteLine("请输入3个数:按回车结束"); int a, b, c, temp; a = int.Parse(Console.ReadLine());//定义一个输入值a; b = int.Parse(Console.ReadLine());//定义一个输入值b; c = int.Parse(Console.ReadLine());//定义一个输入值c; temp = Max(a, b, c); 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) { temp = 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 陈振华 static void PrintTriangle(int a) { for (int i = 1; i <=a; i++) { for (int j = i; j <a; j++) { Console.Write(" "); } for (int x = i * 2 - 1; x > 0; x--) { Console.Write("*"); } Console.WriteLine(""); } } } } 3、 输入某年某月某日,判断这一天是这一年的第几天?。要求:需写一个函数,给定年月日,求的该天处于该年的第几天。然后在Main函数中测试。 代码: namespace _1 { class Program { static void Main(string[] args) { int year, month, day; Console.WriteLine("请输入年份"); year = 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 (int i = 1; i < month; i++) { if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) { sum += 31; } if (i == 4 || i == 6 || i == 9 || i == 11) { sum += 30; } if (i == 2) { sum += 29; } } if ((year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) && month > 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("该数不是大于三的奇数"); } /// <summary> ///074 陈振华 /// </summary> /// <param name="a"></param> static void PrintTriangle(int a) { for (int i = 1; i <= a / 2 + 1; i++) { Console.Write("*"); for (int x = 1; x < i; x++) { Console.Write("**"); } Console.WriteLine(""); } for (int i = a / 2; i > 0; i--) { Console.Write("*"); for (int x = i - 1; x > 0; x--) { Console.Write("**"); } Console.WriteLine(""); } } } } 要求:编写一个函数,给定一个n,打印出相应的三角形,若n不是奇数,则提示说n的值必须为奇数。 5、 给一个正整数,要求: a) 写一个函数求出它是几位数。 b) 写一个函数,分别输出每一位数字。 c) 写一个函数,按逆序输出各位数字,例如原数位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 i = 1; while (a > 10) { a = a / 10; i++; } return i; } static int[] Db(int a) { int count = C105(a); int[] data = new int[count]; 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} ",A[i]); } Console.WriteLine(); } static void Cs(int[] A) { for (int i = 0; i < A.Length / 2; i++) { int temp = A[i]; A[i] = A[A.Length - i - 1]; A[A.Length - i - 1] = temp; } Console.WriteLine("倒叙输出后的结果为"); for (int i = 0; i < A.Length; i++) { Console.Write("{0} ", A[i]); } Console.WriteLine(); } } } 6、 请编写一个函数,计算出从m到n的数的和,比如m=3,n=300,则计算出从3一直加到300的和。并在Main函数中调用测试。 要求: 1) 写个函数采用for语句实现该功能。 2) 写个函数采用while语句实现该功能。 3) 写个函数采用do…while语句实现该功能。 代码: 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 sum = 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++; } 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.WriteLine("这个数不是是素数", a); } static int Sushu105(int m) { int a = 0; for (int i = 2; i < m; i++) { if (m % i == 0) { a++; } } return a; } } } 9、 写一个函数,返回给定m~n之间的所有素数。再写一个函数,打印出给定一个数组中的所有元素。并在Main函数中测试。 10、 代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { 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); } /// <summary> /// 获取所有a到b之间所有的素数 /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns></returns> static int[] Suzhu(int a, int b) { int count = Geshu(a, b); int[] wuxinglin = new int[count]; int d = 0; for (int i = a; i <= b; i++) { if (IsSushu(i)) { wuxinglin[d] = i; d++; } } return wuxinglin; } /// <summary> /// 返回两个数之间所有的素数的个数0 /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns></returns> static int Geshu(int a, int b) { int c = 0; for (int i = a; i <= b; i++) { if (IsSushu(i)) { c++; } } return c; } /// <summary> /// 判断一个数是不是素数,如果是返回turn,否则返回false /// </summary> /// <param name="m"></param> /// <returns></returns> 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; } /// <summary> /// 给定一个数组打印出该中所有的元素 /// </summary> /// <param name="wuxinglin"></param> static void Daying(int[] wuxinglin) { for (int i = 0; i < wuxinglin.Length; i++) { Console.Write("{0} ", wuxinglin[i]); } } } } 11、 编写一个函数,返回给定一个正整数m的二进制表示。比如给定11,则返回1011.并在Main函数中测试。 12、 代码: namespace _1 { class Program { static void Main(string[] args) { Console.WriteLine("请输入一个正整数,按回车键结束"); int a = int.Parse(Console.ReadLine()); Console.WriteLine("输入的数{0}被转化为二进制后的结果为{1}", a, Zhuanhua(a)); } static string Zhuanhua(int a) { StringBuilder result=new StringBuilder(); while (a > 0) { result.Insert(0,a%2); a = a / 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("请输入你想返回的二进制的位数"); 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; 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.Split(','); int[] data = new int[tempData.Length]; for (int i = 0; i < tempData.Length; i++) { data[i] = int.Parse(tempData[i]); } data = Shuzhu(data); Console.WriteLine("逆序输出后的数组如下"); Daying(data); } static int[] Shuzhu(int[] data) { int temp; for (int i = 0; i < data.Length/2; i++) { temp = data[i]; data[i] = data[data.Length - i - 1]; data[data.Length - i - 1] = temp; } return data; } static void Daying(int[] data) { for (int i = 0; i < data.Length; i++) { Console.Write("{0},", data[i]); } } } } 16、 写一个函数,给定一个数n,要求返回n行的杨辉三角形。并在Main函数中测试。 17、 代码: namespace _074 { class Program { static void Main(string[] args) { Console.WriteLine("请输入要打印的杨辉三角的行数,按回车结束!"); int n = int.Parse(Console.ReadLine()); Console.WriteLine("{0}行的杨辉三角如下:", n); PrintYangaHuiTriangle(n); } static void PrintYangaHuiTriangle(int n) { int[,] data = new int[n, n]; for (int i = 1; i <= n; i++) { d- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 编程 习题
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文