C#编程习题.docx

上传人:b****6 文档编号:5151571 上传时间:2022-12-13 格式:DOCX 页数:55 大小:590.77KB
下载 相关 举报
C#编程习题.docx_第1页
第1页 / 共55页
C#编程习题.docx_第2页
第2页 / 共55页
C#编程习题.docx_第3页
第3页 / 共55页
C#编程习题.docx_第4页
第4页 / 共55页
C#编程习题.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

C#编程习题.docx

《C#编程习题.docx》由会员分享,可在线阅读,更多相关《C#编程习题.docx(55页珍藏版)》请在冰豆网上搜索。

C#编程习题.docx

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

{

temp=b;

}

if(temp

{

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

{

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("该数不是大于三的奇数");

}

///

///074陈振华

///

///

staticvoidPrintTriangle(inta)

{

for(inti=1;i<=a/2+1;i++)

{

Console.Write("*");

for(intx=1;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

{

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

{

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

{

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);

}

///

///获取所有a到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;

}

///

///返回两个数之间所有的素数的个数0

///

///

///

///

staticintGeshu(inta,intb)

{

intc=0;

for(inti=a;i<=b;i++)

{

if(IsSushu(i))

{

c++;

}

}

returnc;

}

///

///判断一个数是不是素数,如果是返回turn,否则返回false

///

///

///

staticboolIsSushu(intm)

{

boolresult=true;

for(inti=2;i<=(int)Math.Sqrt(m);i++)

{

if(m%i==0)

{

result=false;

break;

}

}

returnresult;

}

///

///给定一个数组打印出该中所有的元素

///

///

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

{

temp=data[i];

data[i]=data[data.Length-i-1];

data[data.Length-i-1]=temp;

}

returndata;

}

staticvoidDaying(int[]data)

{

for(inti=0;i

{

Console.Write("{0},",data[i]);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1