C#编程习题docWord格式文档下载.docx
《C#编程习题docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《C#编程习题docWord格式文档下载.docx(63页珍藏版)》请在冰点文库上搜索。
{
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);
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;
c)
temp=c;
returntemp;
}
2、编写一个函数,函数名为PrintTriangle,用来打印n阶的正三角形。
并在Main函数中实现从屏幕中输入n的值,然后根据给定的n的值打印出相应的正三角形。
当n=7时,
*
***
*****
*******
*********
***********
*************
当n=5时,
*********
代码:
inta;
请输入你想要打印出的三角形的行数"
PrintTriangle(a);
staticvoidPrintTriangle(inta)
for(inti=1;
i<
=a;
i++)
for(intj=i;
j<
a;
j++)
Console.Write("
"
for(intx=i*2-1;
x>
0;
x--)
*"
"
3、输入某年某月某日,判断这一天是这一年的第几天?
。
要求:
需写一个函数,给定年月日,求的该天处于该年的第几天。
然后在Main函数中测试。
intyear,month,day;
请输入年份"
year=int.Parse(Console.ReadLine());
请输入月份"
month=int.Parse(Console.ReadLine());
请输入日期"
day=int.Parse(Console.ReadLine());
{0}年{1}月{2}日处于该年的第{3}天"
year,month,day,Cs(year,month,day));
staticintCs(intyear,intmonth,intday)
intsum=0;
month;
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
请输入你想要打印出的三角形的行数,该数必须是大于三的奇数"
if(a%2==1&
a>
=3)
else
该数不是大于三的奇数"
///<
summary>
///074陈振华
/summary>
paramname="
a"
>
<
/param>
=a/2+1;
for(intx=1;
x<
i;
x++)
**"
for(inti=a/2;
i>
i--)
for(intx=i-1;
编写一个函数,给定一个n,打印出相应的三角形,若n不是奇数,则提示说n的值必须为奇数。
5、给一个正整数,要求:
a)写一个函数求出它是几位数。
b)写一个函数,分别输出每一位数字。
c)写一个函数,按逆序输出各位数字,例如原数位123,则输出321.
最后在main函数中测试结果
namespaceConsoleApplication1
inta,r;
请输入一个正整数"
r=C105(a);
该数是{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];
0)
data[--count]=a%10;
returndata;
staticvoidShuzhu(int[]A)
for(inti=0;
A.Length;
{0}"
A[i]);
Console.WriteLine();
staticvoidCs(int[]A)
A.Length/2;
inttemp=A[i];
A[i]=A[A.Length-i-1];
A[A.Length-i-1]=temp;
倒叙输出后的结果为"
A[i]);
6、请编写一个函数,计算出从m到n的数的和,比如m=3,n=300,则计算出从3一直加到300的和。
并在Main函数中调用测试。
1)写个函数采用for语句实现该功能。
2)写个函数采用while语句实现该功能。
3)写个函数采用do…while语句实现该功能。
inta,b;
请输入两个正整数分,别按回车结束"
For(a,b);
While(a,b);
Dowhile(a,b);
staticvoidFor(inta,intb)
for(inti=a;
=b;
sum=sum+i;
从{0}到{1}的所有数的和={2}"
a,b,sum);
staticvoidWhile(inta,intb)
intsum=0,i=a;
while(i<
=b)
a,b,sum);
staticvoidDowhile(inta,intb)
intsum=0,i=a;
do
}while(i<
=b);
7、写一个函数,判断给定的一个正整数是否是素数,并在Main函数中测试。
8、代码:
intm,a;
m=int.Parse(Console.ReadLine());
a=Sushu105(m);
if(a==0)
这个数是素数"
a);
这个数不是是素数"
staticintSushu105(intm)
inta=0;
for(inti=2;
m;
if(m%i==0)
a++;
returna;
9、写一个函数,返回给定m~n之间的所有素数。
再写一个函数,打印出给定一个数组中的所有元素。
并在Main函数中测试。
10、代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
请输入两个数"
inta,b;
//boolresult=IsSushu(6);
//Console.WriteLine(result);
int[]wuxinglin=Suzhu(a,b);
{0}到{1}之间的所有素数如下"
a,b);
Daying(wuxinglin);
///获取所有a到b之间所有的素数
b"
returns>
/returns>
staticint[]Suzhu(inta,intb)
intcount=Geshu(a,b);
int[]wuxinglin=newint[count];
intd=0;
if(IsSushu(i))
wuxinglin[d]=i;
d++;
returnwuxinglin;
///返回两个数之间所有的素数的个数0
staticintGeshu(inta,intb)
intc=0;
c++;
returnc;
///判断一个数是不是素数,如果是返回turn,否则返回false
m"
staticboolIsSushu(intm)
boolresult=true;
=(int)Math.Sqrt(m);
result=false;
break;
returnresult;
///给定一个数组打印出该中所有的元素
wuxinglin"
staticvoidDaying(int[]wuxinglin)
wuxinglin.Length;
wuxinglin[i]);
11、编写一个函数,返回给定一个正整数m的二进制表示。
比如给定11,则返回1011.并在Main函数中测试。
12、代码:
请输入一个正整数,按回车键结束"
inta=int.Parse(Console.ReadLine());
输入的数{0}被转化为二进制后的结果为{1}"
a,Zhuanhua(a));
staticstringZhuanhua(inta)
StringBuilderresult=newStringBuilder();
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
请输入你想返回的二进制的位数"
intb=int.Parse(Console.ReadLine());
stringresult=Zhuanhua(a,b);
输入的数{0}被转化为二进制后{1}位的结果为{2}"
a,b,result);
staticstringZhuanhua(inta,intb)
intcount=0;
count++;
for(inti=count;
result.Insert(0,0);
14、写一个函数,实现对给定一个整型数组中的每个元素进行逆序重新存放。
例如,原来顺序为1,3,6,5,7,。
要求改为7,5,6,3,1。
15、代码:
namespace_074
请输入一个整形数组中间用逗号隔开如\"
10,11,12\"
stringa=Console.ReadLine();
string[]tempData=a.Split('
'
int[]data=newint[tempData.Length];
tempData.Length;
data[i]=int.Parse(tempData[i]);
data=Shuzhu(data);
逆序输出后的数组如下"
Daying(data);
staticint[]Shuzhu(int[]data)
inttemp;
data.Length/2;
temp=data[i];
data[i]=data[data.Length-i-1];
data[data.Length-i-1]=temp;
staticvoidDaying(int[]data)
data.Length;
{0},"
data[i]);