C#编程习题.docx
《C#编程习题.docx》由会员分享,可在线阅读,更多相关《C#编程习题.docx(55页珍藏版)》请在冰豆网上搜索。
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语句实现该功能。
代码:
namespaceConsole