C#编程习题Word文件下载.docx
《C#编程习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C#编程习题Word文件下载.docx(66页珍藏版)》请在冰点文库上搜索。
![C#编程习题Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/b31da45b-ab41-4435-8875-ffa6fb6f3152/b31da45b-ab41-4435-8875-ffa6fb6f31521.gif)
staticintMax(inta,intb,intc)
{
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
{
staticvoid Main(string[]args)
{
inta;
Console、WriteLine("
请输入您想要打印出得三角形得行数”);
a=int.Parse(Console.ReadLine());
PrintTriangle(a);
staticvoidPrintTriangle(int a)
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
class Program
{
static voidMain(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,int day)
{
intsum= 0;
for (inti=1;
i<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
staticvoidMain(string[]args)
inta;
Console.WriteLine(”请输入您想要打印出得三角形得行数,该数必须就是大于三得奇数”);
a=int、Parse(Console。
ReadLine());
if (a%2==1&&
a〉=3)
{
PrintTriangle(a);
}
else
Console。
WriteLine("
该数不就是大于三得奇数");
}
///<
summary〉
///074陈振华
///</summary〉
/// <
paramname="
a”>
<
/param〉
staticvoidPrintTriangle(int a)
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
staticvoid Main(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++;
}
return i;
}
staticint[] Db(inta)
{
intcount =C105(a);
int[] data =new int[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();
}
static void Cs(int[]A)
for (inti=0;
i〈A。
Length/ 2;
{
inttemp=A[i];
A[i] =A[A、Length-i-1];
A[A。
Length-i- 1]=temp;
}
Console、WriteLine(”倒叙输出后得结果为”);
for (inti =0;
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)
int sum= 0;
for(inti=a;
i <=b;
i++)
{
sum=sum +i;
}
Console、WriteLine(”从{0}到{1}得所有数得与={2}”,a,b,sum);
}
//074陈振华
staticvoidWhile(inta,intb)
int sum=0,i=a;
while(i<=b)
sum = sum+i;
i++;
Console。
WriteLine("从{0}到{1}得所有数得与={2}"
a,b,sum);
}
staticvoidDowhile(int a,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
{
static void Main(string[]args)
intm,a;
m=int。
Parse(Console、ReadLine());
a=Sushu105(m);
if (a==0)
Console、WriteLine(”这个数就是素数"
a);
else
Console。
WriteLine("这个数不就是就是素数"
staticintSushu105(intm)
inta=0;
for(inti=2;
i<m;
{
if (m%i==0)
{
a++;
}
return a;
}
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=”a"
>
/param>
/// <
paramname="
b"></param〉
/// <
returns></returns〉
staticint[]Suzhu(inta,intb)
intcount= Geshu(a, b);
int[]wuxinglin =newint[count];
intd= 0;
for(inti=a;
i<
=b;
if(IsSushu(i))
wuxinglin[d]= i;
d++;
}
returnwuxinglin;
///<
summary〉
///返回两个数之间所有得素数得个数0
///</summary>
///<param name="
a"
/param>
///<
paramname=”b”〉</param〉
///<
returns>
/returns〉
staticintGeshu(inta, int b)
{
int c=0;
for(inti = a;
i〈= b;
if (IsSushu(i))
{
c++;
}
returnc;
}
///<
summary〉
/// 判断一个数就是不就是素数,如果就是返回turn,否则返回false
///<
/summary〉
///〈paramname="m”>
〈/param>
/// <
returns>
〈/returns〉
staticboolIsSushu(intm)
{
boolresult =true;
for (inti=2;
i〈=(int)Math、Sqrt(m);
{
if (m% i ==0)
{
result=false;
break;
}
return result;
///<
summary>
///给定一个数组打印出该中所有得元素
/// 〈/summary>
///<
paramname="
wuxinglin"
><
/param>
staticvoidDaying(int[] wuxinglin)
{
for(inti=0;
i<wuxinglin、Length;
Console.Write(”{0} ”,wuxinglin[i]);
}
11、编写一个函数,返回给定一个正整数m得二进制表示。
比如给定11,则返回1011.并在Main函数中测试、
12、代码:
namespace_1
classProgram
staticvoidMain(string[] args)
Console、WriteLine("请输入一个正整数,按回车键结束”);
int a=int、Parse(Console、ReadLine());
Console.WriteLine(”输入得数{0}被转化为二进制后得结果为{1}"
a,Zhuanhua(a));
staticstringZhuanhua(int a)
{
StringBuilder result=new StringBuilder();
while (a〉 0)
result、Insert(0,a%2);