《C#程序设计》练习题Word文件下载.docx
《《C#程序设计》练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《《C#程序设计》练习题Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
Console.ReadKey();
}
}
}
2.已知三角形三条边长a,b,c,三边由用户输入,编程判断a、b、c的值是否构成三角形,如构成三角形,则计算并输出三角形的面积,否则输出“不能构成三角形”计算三角形面积公式为:
s=0.5*(a+b+c)
area=
求三角形的面积area。
namespaceConsoleApplication1
classProgram
{
staticvoidMain(string[]args)
{
Console.Write("
请输入三角形的第一条边:
inta=int.Parse(Console.ReadLine());
Console.Write("
请输入三角形的第二条边:
");
intb =int.Parse(Console.ReadLine());
Console.Write("请输入三角形的第三条边:
);
int c =int.Parse(Console.ReadLine());
if(a +b>
=c &
&
a+c>
=b&
b +c>=a)
{
doubles =(a+b+ c) /2;
doublearea=Math.Sqrt(s * (s-a) *(s-b)*(s- c));
Console.WriteLine("
面积是:
{0}"
area);
}
else
{
Console.WriteLine("
不能构成三角形"
Console.ReadKey();
}
}
3.输入一个字符串str1,删除str1中其中所有的0-9的数字字符,输出处理后的字符串。
4.输入10个数,计算平均值,统计低于平均值数据个数并把低于平均值的数据输出。
5.输入10个数,计算平均值,统计高于平均值数据个数并把高于平均值的数据输出。
6.输入6个数,找出其中最大数和次最大数。
classProgram
{
staticvoidMain(string[]args)
{
intn,i,j;
int[]a =newint[6];
for(i= 0;
i<
a.Length;
i++)
{
Console.Write("
请输入第{0}数:
, i+1);
a[i]=int.Parse(Console.ReadLine());
for(j =0;
j<
6;
j++)
for (i= 0;
i<
5-j;
i++)
if(a[i] >
a[i+1])
{
n= a[i];
a[i]=a[i+ 1];
a[i + 1]=n;
}
Console.WriteLine("
最小数是:
{0}"
a[5]);
Console.WriteLine("
次最小数是:
a[4]);
Console.ReadKey();
}
7.输入6个数,找出其中最小数和次最小数。
classProgram
staticvoidMain(string[]args)
int n,i,j;
int[] a =new int[6];
for(i= 0;
i<a.Length;
i++)
{
Console.Write("请输入第{0}个数:
i+1);
a[i] =int.Parse(Console.ReadLine());
}
for(j=0;
6;
j++)
for(i= 0;
5-j;
i++)
if (a[i] > a[i +1])
{
n= a[i];
a[i]=a[i+1];
a[i+1]=n;
Console.WriteLine("最小数是:
a[0]);
Console.WriteLine("
{0}"
,a[1]);
Console.ReadKey();
}
}
8.输入若干(不超过10个)有序的正整数,对于相同的数据只保留一个,输出保留的数据。
例如,输入数据是:
2,2,2,3,3,4,5,5,6,6,9,9,9,10,10,10最终的输出结果是:
2,3,4,5,6,9,10。
9.输入由数字字符组成的字符串,将其转换成为一个整数。
例如若输入字符串"
3425",得到结果为整数值3425。
10.输入20个正整数,分别统计并输出其中的奇数和偶数的个数,并分类输出所有奇数和偶数。
11.从终端输入3个数a、b、c,按从小到大的顺序输出。
12.从键盘读入20个数据到数组中,统计其中负数的个数,并计算这些负数之和。
13.求n以内(不包括n)不能同时被3和7整除(能被3或者7整除但不能同时被整除)的所有自然数之和的平方根s,n从键盘输入。
例如若n为1000时,函数值应为:
s=153.909064。
14.输入1~7之间的一个数字,输出它对应的星期日。
例如输入1输出Monday。
15.个位数为8且能被4整除但不能被7整除的二位自然数共有多少个,统计个数,并输出这些数。
class Program
staticvoid Main(string[]args)
{
intn=0, i;
Console.WriteLine("
输?
出?
个?
位?
数簓为a8且ò
能ü
被?
4整?
除y但?
不?
7整?
除y的?
二t位?
自?
然?
数簓:
阰"
for(i=10;
i <
100;
{
if(i% 10==8&
i%4 ==0&
i% 7!
=0)
Console.Write("{0}",i);
n++;
}
}
Console.WriteLine("
共2有瓺{0}个?
", n);
Console.ReadKey();
}
16.输入一个字符串,用foreach语句计算输入的字符串的长度,并显示长度。
classProgram
static voidMain(string[] args)
stringn;
Console.Write("请输入一个字符串:
n=Console.ReadLine();
int i=0;
char[]cn=n.ToCharArray();
foreach (charxincn)
{
i++;
}
Console.WriteLine("
{0}的长度为:
{1}"
n,i);
Console.ReadKey();
}
}
17.输入7个数,分别统计其中正数、负数、零的个数。
18.计算:
1/2+2/3-3/4+4/5……前50项。
19.斐氏数列是公元13世纪数学家斐波拉契发明的。
即:
1,2,3,5,8,13,21,34,55,89,……,输出比144大的最小的那一项。
20.从终端输入3个数a、b、c,按从小到大的顺序输出
21.接收用户输入的一个实数N,不使用计算绝对值函数编程计算输出该实数的绝对值。
22.接收用户输入的一个正整数N,求1-2+3-4…+N的值并输出。
23.接收用户输入的一个正整数N,计算1到N的平方和。
24.接收用户输入的两个数,判断两个数是否能整除。
二、方法题(注意这些方法要在主函数里面调用测试是否正确)
1.写一个方法,判断一个字符串str1,是否是回文,例如字符串str1,判断其是否为回文,是回文返回true,否则返回false。
回文是指顺读和倒读都一样的字符串。
例如字符串LEVEL是回文,而字符串12312就不是回文。
要求编写应用程序,来检验方法的正确性。
2.写一个方法,统计一个字符串中单词的个数,返回值为单词个数。
规定所有单词由小写字母组成,单词之间由若干个空格隔开。
it is a book",得到结果为4。
要求编写应用程序,来检验方法的正确性。
3.写一个方法,判断的一个正整数是否是素数,返回值为boolean类型。
要求编写应用程序,求1-100的所有素数来检验方法的正确性。
4.输入一个字符串str1,统计str1中英文字母、数字字符、空格和其他它符号的个数并输出。
5.写一个方法,对正整数m求和,其中求和公式为s=1/2+1/3+…+1/m,方法返回s的值。
6.写一个方法,将一个字符串中所有英文字符后加一个$字符,并返回处理后的字符串。
例如输入:
A1B23CD45,则方法返回值为:
A$1B$23C$D45,要求编写应用程序,来检验方法的正确性。
7.写一个方法,删去所有字符串中的小写字符,其余字符不变。
方法返回转变后的字符串。
str="
AbC"
转变为串为="
AC"
,要求编写应用程序,来检验方法的正确性。
8.写一个方法,对一个字符串,按如下规则加密:
如果是英文字母则大写变小写、小写变大写,对非英文字符则保持不变。
返回值为返回加密字符串。
9.写一个方法,对两个整数m和n求其最大公约数,并作为返回值返回。
10.写一个方法,对两个整数m和n求其最小公倍数,并作为返回值返回。
11.写一个方法,求s=1/a+1/aa+1/aaa+1/aaaa+1/aa...a的值,其中a是用户定义的数字。
例如1/2+1/22+1/222+1/2222+1/22222(此时共有5个数相加),返回值为和s。
12.写一个方法,判断一个数是否是完数,返回值为boolean类型。
一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3。
13.写一个方法,求分数序列:
2/1,1/3,3/4,4/7,7/11,11/18...的前10项之和,并返回。
14.写一个方法,求1+1/2!
+1/3!
+...+1/n!
的和,并将和作为返回值返回,要求编写应用程序,来检验方法的正确性。
15.写一个方法,对4位整数进行加密,加密规则如下:
每位数字都加上7,然后用和除以10的余数代替该数字,再将第一位和第二位交换,第四位和第三位交换,该方法返回加密后的数字。
16.在歌星大奖赛中,有7个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:
去掉一个最高分和一个最低分后其余5个分数的平均值。
请编写一个方法实现。
17.写一个方法,在一个的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词,并将最短单词作为方法返回值返回。
18.写一个方法,对于给定一个日期,返回该日为星期几。
例如2002-3-28返回星期四。
19.写一个方法,随机产生10个[20,50]的正整数存放到数组中,并输出数组中的所有元素最大值、最小值、平均值及各元素之和。
20.已知一个数列的前两项分别为1,2,以后的各项都是其相邻的前两项之和,写一个方法,求计算并返回该数列前n项的平方根之和sum。
21.编写一个方法,判断一个数是否能被3整除但不能被7整除,编写应用程序,输出1-100以内的所有能被3整除但不能被7整除的数。
22.编写一个方法,计算1到n之间所有数的平方求和,要求编写应用程序,来检验方法的正确性。
23.编写一个方法,判断一个三位数是否等于其每位数字的立方和,例如153=13+53+33,要求编写应用程序,来检验方法的正确性。
24.编写一个方法,判断一个数是否既能被3或者7整除,但同时不能被3和7整除,要求编写应用程序,来检验方法的正确性。
三、类设计
3.定义一个名为Vehicles交通工具的基类:
该类中包含私有的string类型的成员字段brand商标和color颜色,并设置其相应的公有属性;
类中包含成员方法Run来模拟交通工具开动,该方法在控制台显示“我已经开动了”信息;
类中包含成员方法和ShowInfo来显示信息,该方法在控制台显示商标和颜色;
完成父类的无参有参构造方法,
编写Car小汽车类继承于Vehicles类,对于此类:
增加int型成员字段seats座位,并设置其相应的公有属性;
增加成员方法ShowCar,在控制台显示小汽车的信息并编写构造方法。
覆盖父类的Run方法,在控制台显示“汽车开动了的信息”;
完成小汽车类的无参有参构造方法;
在main方法中测试以上各类。
四、windows程序设计题
1.在数据库Test中,包括教师信息表Teachers,其表结构如表所示
表Teacher(教师信息表)
字段名
类型
宽度
是否空
备注
TID
varchar
10
非空
主键,教工号
Name
10
姓名
Sex
varchar
2
性别
Birthday
Datetime
8
出生日期
Position
varchar
18
职位如教授、副教授等
Email
varchar
50
电子邮件
请完成数据库的建立,并利用NET环境创建Window程序TeacherManage,在该系统中实现对教师信息的添加和查询,具体要求如下:
1)在主窗体添加菜单栏,并设置菜单项:
添加、查询、退出。
并单击添加菜单栏,进入添加窗体,单击查询菜单栏进入查询窗体,单击退出菜单退出系统。
2)添加窗体,实现添加教师信息功能,在该窗体,设置相应的控件,录入教师信息,单击“添加”按钮实现将录入信息添加到数据库的表中;
3)查询窗体要求根据教工号进行查询,将查询到的详细信息显示到对应的控件中;
4)窗体要求设计整洁,控件使用合理,各功能的实现尽量全面、完整。