C#编程习题.docx
- 文档编号:29275705
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:64
- 大小:592.99KB
C#编程习题.docx
《C#编程习题.docx》由会员分享,可在线阅读,更多相关《C#编程习题.docx(64页珍藏版)》请在冰豆网上搜索。
C#编程习题
C#编程习题
以下有18道习题(当然,这并非全部的习题,最后应该会多增加2题,共20题),对于这20道题目,要求大家每道题目都能够做到看到题目,不看其他参考材料的情况下,能够实现出来。
期末考将会从中抽取三道题目(分数占60分),而期末考其实是要出三份试卷的。
所以总的需要从这份里面抽9道题目。
也就是这20题中有9题是肯定会出现在试卷中的.
对于本科目最后成绩的说明:
总评成绩=平时成绩*50%+期末成绩*50%
平时成绩与期末成绩都是100分制的。
平时成绩=出勤课堂纪律情况*40%+作业完成情况*60%
对于作业完成情况的说明:
对于之前的作业,不管是否有提交,我都不再追究。
我只要求从发这份习题给你们开始,每周要按顺序完成如下的5道题目,把每道题目都自己理解完实现出来之后再交上来.
我知道要把这20题都弄懂,不是一件容易的事情,但不是不可能。
第一,我会提供一些材料,大家可以先把这些材料看一遍,大体有个印象,当遇到问题的时候,也要学会查找对应材料来解决问题。
第二,下面的每道题目,我都将会给出参考答案.当然是以截图的方式.也会在关键代码附上相应的注释。
还有一句话,希望能与大家共勉。
“学习,从来都是一个自觉的过程。
遇上一个好老师,会让你少走很多弯路,但不是替代你学习。
遇上一个不够好的老师,或许会多走些弯路,但不代表你就学不好。
事在人为,只要自己有心,外界条件再差也是可以攻克的;若是无心,外界条件再好,也会成为你的借口。
”
最后,再回到我们这门课的现实.能否取得好成绩,能否不挂科,取决于你,而不取决于我。
规则我都已经说清楚了,最后结果如何我说了不算,你的实际行动和实际成绩说了算。
1、编写一个函数,函数名为Max,该函数用来获取给定三个整数的最大值.在Main函数中实现从屏幕中读取三个整数,然后输出这三个整数中最大的那个数的功能.
namespace_1
{
classProgram
{
staticvoidMain(string[]args)
{
Console。
WriteLine("请输入3个数:
按回车结束”);
inta,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陈振华
staticintMax(inta,intb,intc)
{
inttemp=a;//把a的值付给temp;
if(temp〈b)
{
temp=b;
}
if(temp〈c)
{
temp=c;
}
returntemp;
}
}
}
2、编写一个函数,函数名为PrintTriangle,用来打印n阶的正三角形。
并在Main函数中实现从屏幕中输入n的值,然后根据给定的n的值打印出相应的正三角形。
当n=7时,
*
***
*****
*******
*********
***********
*************
当n=5时,
*
***
*****
*******
*********
代码:
namespace_1
{
classProgram
{
staticvoidMain(string[]args)
{
inta;
Console。
WriteLine(”请输入你想要打印出的三角形的行数”);
a=int.Parse(Console.ReadLine());
PrintTriangle(a);
}
//074陈振华
staticvoidPrintTriangle(inta)
{
for(inti=1;i<=a;i++)
{
for(intj=i;j〈a;j++)
{
Console。
Write(””);
}
for(intx=i*2—1;x〉0;x--)
{
Console.Write(”*”);
}
Console。
WriteLine("”);
}
}
}
}
3、输入某年某月某日,判断这一天是这一年的第几天?
。
要求:
需写一个函数,给定年月日,求的该天处于该年的第几天。
然后在Main函数中测试。
代码:
namespace_1
{
classProgram
{
staticvoidMain(string[]args)
{
intyear,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));
}
staticintCs(intyear,intmonth,intday)
{
intsum=0;
for(inti=1;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; returnsum; } } } 4、给定一个大于三的奇数n,打印出相应的三角形。 如n=7时的形状如下: * *** ***** ******* ***** *** * 代码; classProgram { staticvoidMain(string[]args) { inta; Console.WriteLine(”请输入你想要打印出的三角形的行数,该数必须是大于三的奇数”); a=int.Parse(Console.ReadLine()); if(a%2==1&&a〉=3) { PrintTriangle(a); } else Console。 WriteLine("该数不是大于三的奇数"); } ///〈summary> ///074陈振华 /// /// staticvoidPrintTriangle(inta) { for(inti=1;i<=a/2+1;i++) { Console.Write(”*”); for(intx=1;x〈i;x++) { Console.Write("**”); } Console.WriteLine("”); } for(inti=a/2;i>0;i-—) { Console。 Write("*"); for(intx=i-1;x>0;x-—) { Console.Write("**"); } Console。 WriteLine(””); } } } } 要求: 编写一个函数,给定一个n,打印出相应的三角形,若n不是奇数,则提示说n的值必须为奇数. 5、给一个正整数,要求: a)写一个函数求出它是几位数. b)写一个函数,分别输出每一位数字。 c)写一个函数,按逆序输出各位数字,例如原数位123,则输出321. 最后在main函数中测试结果 代码: namespaceConsoleApplication1 { classProgram { staticvoidMain(string[]args) { inta,r; Console。 WriteLine("请输入一个正整数"); a=int。 Parse(Console。 ReadLine()); r=C105(a); Console。 WriteLine(”该数是{0}位数”,r); int[]A=Db(a); Shuzhu(A); Cs(A); } staticintC105(inta) { inti=1; while(a〉10) { a=a/10; i++; } returni; } staticint[]Db(inta) { intcount=C105(a); int[]data=newint[count]; while(a〉0) { data[--count]=a%10; a=a/10; } returndata; } staticvoidShuzhu(int[]A) { for(inti=0;i〈A.Length;i++) { Console.Write(”{0}”,A[i]); } Console。 WriteLine(); } staticvoidCs(int[]A) { for(inti=0;i { inttemp=A[i]; A[i]=A[A。 Length-i-1]; A[A。 Length—i-1]=temp; } Console.WriteLine("倒叙输出后的结果为”); for(inti=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语句实现该功能. 代码: namespaceConsoleApplication1 { classProgram { staticvoidMain(string[]args) { inta,b; Console。 WriteLine("请输入两个正整数分,别按回车结束”); a=int。 Parse(Console。 ReadLine()); b=int.Parse(Console。 ReadLine()); For(a,b); While(a,b); Dowhile(a,b); } staticvoidFor(inta,intb) { intsum=0; for(inti=a;i<=b;i++) { sum=sum+i; } Console.WriteLine("从{0}到{1}的所有数的和={2}”,a,b,sum); } //074陈振华 staticvoidWhile(inta,intb) { intsum=0,i=a; while(i〈=b) { sum=sum+i; i++; } Console。 WriteLine(”从{0}到{1}的所有数的和={2}",a,b,sum); } staticvoidDowhile(inta,intb) { intsum=0,i=a; do { sum=sum+i; i++; }while(i〈=b); Console。 WriteLine("从{0}到{1}的所有数的和={2}",a,b,sum); } } } 7、写一个函数,判断给定的一个正整数是否是素数,并在Main函数中测试. 8、代码: namespaceConsoleApplication1 { classProgram { staticvoidMain(string[]args) { intm,a; m=int。 Parse(Console.ReadLine()); a=Sushu105(m); if(a==0) { Console。 WriteLine(”这个数是素数”,a); } else Console.WriteLine(”这个数不是是素数”,a); } staticintSushu105(intm) { inta=0; for(inti=2;i〈m;i++) { if(m%i==0) { a++; } } returna; } } } 9、写一个函数,返回给定m~n之间的所有素数。 再写一个函数,打印出给定一个数组中的所有元素。 并在Main函数中测试。 10、代码: usingSystem; usingSystem.Collections。 Generic; usingSystem。 Linq; usingSystem.Text; namespaceConsoleApplication1 { classProgram { staticvoidMain(string[]args) { Console.WriteLine("请输入两个数"); inta,b; a=int。 Parse(Console.ReadLine()); b=int.Parse(Console。 ReadLine()); //boolresult=IsSushu(6); //Console.WriteLine(result); int[]wuxinglin=Suzhu(a,b); Console。 WriteLine(”{0}到{1}之间的所有素数如下",a,b); Daying(wuxinglin); } ///〈summary> ///获取所有a到b之间所有的素数 ///〈/summary〉 /// ///〈paramname=”b"〉 /// staticint[]Suzhu(inta,intb) { intcount=Geshu(a,b); int[]wuxinglin=newint[count]; intd=0; for(inti=a;i<=b;i++) { if(IsSushu(i)) { wuxinglin[d]=i; d++; } } returnwuxinglin; } ///〈summary〉 ///返回两个数之间所有的素数的个数0 /// ///〈paramname="a"> /// /// staticintGeshu(inta,intb) { intc=0; for(inti=a;i〈=b;i++) { if(IsSushu(i)) { c++; } } returnc; } /// ///判断一个数是不是素数,如果是返回turn,否则返回false /// ///〈paramname="m”>〈/param> /// staticboolIsSushu(intm) { boolresult=true; for(inti=2;i<=(int)Math.Sqrt(m);i++) { if(m%i==0) { result=false; break; } } returnresult; } ///〈summary〉 ///给定一个数组打印出该中所有的元素 ///〈/summary〉 ///〈paramname=”wuxinglin”〉〈/param〉 staticvoidDaying(int[]wuxinglin) { for(inti=0;i { Console。 Write(”{0}",wuxinglin[i]); } } } } 11、编写一个函数,返回给定一个正整数m的二进制表示。 比如给定11,则返回1011。 并在Main函数中测试。 12、代码: namespace_1 { classProgram { staticvoidMain(string[]args) { Console。 WriteLine("请输入一个正整数,按回车键结束"); inta=int。 Parse(Console.ReadLine()); Console.WriteLine(”输入的数{0}被转化为二进制后的结果为{1}”,a,Zhuanhua(a)); } staticstringZhuanhua(inta) { StringBuilderresult=newStringBuilder(); while(a>0) { result.Insert(0,a%2); a=a/2; } returnresult。 ToString(); } } } 13、编写一个函数,返回给定一个正整数m的n位二进制表示方法,若n小于实际给定数m的二进制位数,则返回其真实位数。 比如m=100,n=3,则返回1100100 比如m=100,n=8,则返回001100100 代码: namespace_1 { classProgram { staticvoidMain(string[]args) { Console。 WriteLine("请输入一个正整数,按回车键结束”); inta=int.Parse(Console。 ReadLine()); Console。 WriteLine("请输入你想返回的二进制的位数”); intb=int。 Parse(Console。 ReadLine()); stringresult=Zhuanhua(a,b); Console.WriteLine("输入的数{0}被转化为二进制后{1}位的结果为{2}",a,b,result); } staticstringZhuanhua(inta,intb) { StringBuilderresult=newStringBuilder(); intcount=0; while(a>0) { result.Insert(0,a%2); a=a/2; count++; } for(inti=count;i<=b;i++) { result.Insert(0,0); } returnresult.ToString(); } } } 14、写一个函数,实现对给定一个整型数组中的每个元素进行逆序重新存放。 例如,原来顺序为1,3,6,5,7,。 要求改为7,5,6,3,1.并在Main函数中测试。 15、代码: namespace_074 { classProgram { staticvoidMain(string[]args) { Console.WriteLine("请输入一个整形数组中间用逗号隔开如\"10,11,12\""); stringa=Console.ReadLine(); string[]tempData=a。 Split(’,'); int[]data=newint[tempData。 Length]; for(inti=0;i { data[i]=int。 Parse(tempData[i]); } data=Shuzhu(data); Console。 WriteLine(”逆序输出后的数组如下"); Daying(data); } staticint[]Shuzhu(int[]data) { inttemp; for(inti=0;i Length/2;i++) { temp=data[i]; data[i]=data[data.Length-i—1]; data[data.Length-i—1]=temp; } returndata; } staticvoidDaying(int[]data) { for(inti=0;i〈data。 Length;i++) { Console.Write(”{0},",data[i]); } } } } 16、写一个函数,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 编程 习题