《C#程序设计》期末题库资料.docx
《《C#程序设计》期末题库资料.docx》由会员分享,可在线阅读,更多相关《《C#程序设计》期末题库资料.docx(51页珍藏版)》请在冰豆网上搜索。
《C#程序设计》期末题库资料
C#考试题库
一、简单题
1.把输入的字符串str1中的内容逆置,并保存到字符串str2中,输出str2的内容。
例如:
str1=“abc”,str2则为"cba"。
namespaceone
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请?
输º?
入¨?
字Á?
符¤?
串ä?
....");
Stringstr1=Console.ReadLine();
Console.WriteLine("正y在¨²处ä|理¤¨ª数ºy据Y...");
char[]data=str1.ToCharArray();
Array.Reverse(data);
Stringstr2=newString(data);
Console.WriteLine("翻¤-转Áa后¨®的Ì?
数ºy据Y是º?
:
êo"+str2);
Console.ReadLine();
}
}
}
2.已知三角形三条边长a,b,c,三边由用户输入,计算三角形面积公式为:
s=0.5*(a+b+c)
area=
求三角形的面积area。
3.输入一个字符串str1,删除str1中其中所有的小写字符a,输出处理后的字符串。
namespaceone
{
classProgram
{
staticvoidMain(string[]args)
{
Stringstr1;
Console.WriteLine("请输入字Á符串....");
str1=Console.ReadLine();
Console.WriteLine("resultis:
"+str1.Replace("a",""));
Console.ReadLine();
}
}
}
4.输入7个数,计算平均值,并把低于平均值的数据输出。
5.输入7个数,计算平均值,并把高于平均值的数据输出。
6.输入10个数,找出其中最大数和次最大数。
7.输入10个数,找出其中最小数和次最小数。
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。
namespaceone
{
classProgram
{
staticvoidMain(string[]args)
{
stringstr1;
stringret="";//任¨?
意°a值¦Ì
str1=Console.ReadLine();
for(inti=0;i{
charch=str1[i];
if(ret.IndexOf(ch.ToString())>=0)
{
continue;
}
ret=ret+ch.ToString();
}
Console.WriteLine(ret);
Console.ReadLine();
}
}
}
法二:
for(inti=1;i<=num.Length;i++)
{
if(i==num.Length){
Console.Write(num[i-1]);
break;
}
if(num[i-1]==num[i])
{
continue;
}
else{
Console.Write(num[i-1]+"");
}
}
9.输入由数字字符组成的字符串,将其转换成为一个整数。
例如若输入字符串"3425",得到结果为整数值3425。
namespaceone
{
classProgram
{
staticvoidMain(string[]args)
{
stringstr1;
intresult;
Console.WriteLine("请?
输º?
入¨?
数ºy字Á?
字Á?
符¤?
串ä?
:
êo");
str1=Console.ReadLine();
try
{
result=int.Parse(str1);
}
catch(Exception)
{
Console.WriteLine("你?
输º?
入¨?
的Ì?
字Á?
符¤?
串ä?
有®D误¨®!
ê?
请?
重?
新?
输º?
入¨?
");
return;
}
Console.WriteLine("resultis:
"+result);
Console.ReadLine();
}
}
}
10.输入20个正整数,把其中的奇数和偶数分别保存并输出。
namespaceone
{
classProgram
{
staticvoidMain(string[]args)
{
int[]str1=newint[20];
ArrayListlist1=newArrayList();
ArrayListlist2=newArrayList();
Console.WriteLine("请?
输º?
入¨?
数ºy字Á?
:
êo");
for(inti=0;i{
str1[i]=int.Parse(Console.ReadLine());
}
for(inti=0;i{
if(str1[i]%2==0)
{
list2.Add(str1[i]);
}
else{
list1.Add(str1[i]);
}
}
Console.WriteLine("******奇?
数ºy*********");
for(inti=0;i{
Console.Write(list1[i].ToString()+"");
}
Console.Write("\n");
Console.WriteLine("*****偶?
数ºy*********");
for(inti=0;i{
Console.Write(list2[i].ToString()+"");
}
Console.Write("\n");
Console.ReadLine();
}
}
}
11.从终端输入3个数a、b、c,按从大到小的顺序输出。
classProgram
{
staticvoidMain(string[]args)
{
ArrayListlist2=newArrayList();
Console.WriteLine("start..");
for(inti=0;i<3;i++)
{
list2.Add(Console.ReadLine());
}
Console.WriteLine("pleasewaite....");
list2.Sort();
for(inti=0;i<3;i++)
{
Console.Write(list2[i]+"");
}
Console.ReadKey();
}
}
13.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。
例如若n为1000时,函数值应为:
s=153.909064。
classProgram
{
staticvoidMain(string[]args)
{
intn;
floatsum=0;
Console.WriteLine("pleaseinputn....");
try
{
n=int.Parse(Console.ReadLine());
}
catch(Exception)
{
Console.WriteLine("nisnotanumber,ê?
pleaseinputagain....");
n=int.Parse(Console.ReadLine());
}
for(inti=0;i{
if((i%3==0)&&((i%7==0)))
{
sum+=i;
}
}
Console.WriteLine("pleasewaite....");
Console.WriteLine("resultis"+Math.Sqrt(sum));
Console.ReadKey();
}
}
14.输入1~10之间的一个数字,输出它对应的英文单词。
例如输入1输出one。
Switch(data){
Case1:
Break;
}
15.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,统计个数,并输出这些数。
classProgram
{
staticvoidMain(string[]args)
{
ArrayListlist=newArrayList();
intn=0;
Console.WriteLine("pleasewaite....");
for(inti=100;i<1000;i++)
{
if(i%100%10==6&&i%3==0&&i%5!
=0){
n++;
Console.WriteLine("i="+i);
}
}
Console.WriteLine("totaln="+n);
Console.ReadKey();
}
}
16.输入一个字符串,用foreach语句计算输入的字符串的长度,并显示长度。
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("Pleaseenterastring:
");
stringa=Console.ReadLine();
inti=0;
char[]ca=a.ToCharArray();
foreach(charxinca)
{
i++;
}
Console.WriteLine("{0}lengthis:
{1}",a,i);
Console.ReadKey();
}
}
18.计算:
1/2-2/3+3/4-4/5……前100项。
doublesum=0;
doublek=-1;
for(doublei=1;i<101;i++)
{
if(i%2==0)
{
sum=sum+(i/(i+1))*k;
}
else{
sum=sum+i/(i+1);
}
}
Console.WriteLine("resiltis:
"+sum);
Console.ReadLine();
19.斐氏数列是公元13世纪数学家斐波拉契发明的。
即:
1,2,3,5,8,13,21,34,55,89,……,输出其前15项。
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("Pleasewaite....");
int[]but=newint[15];
for(inti=0;i{
if(i==0||i==1)
{
but[0]=1;
but[1]=2;
}
else{
but[i]=but[i-1]+but[i-2];
}
}
for(intj=0;j{
Console.Write(but[j]+"");
}
Console.ReadKey();
}
}
二、方法题(注意这些方法要在主函数里面调用测试是否正确)
1.写一个方法,判断一个字符串str1,是否是回文,例如字符串str1,判断其是否为回文,是回文返回true,否则返回false。
回文是指顺读和倒读都一样的字符串。
例如字符串LEVEL是回文,而字符串12312就不是回文。
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("Pleasewaite....");
stringdata=Console.ReadLine();
if(check(data))
{
Console.WriteLine("true");
}
else{
Console.WriteLine("false");
}
Console.ReadKey();
}
publicstaticboolcheck(stringdata){
boolresult=false;
char[]data2=data.ToCharArray();
Array.Reverse(data2);
stringdata3=newstring(data2);
if(data.Equals(data3))
{
result=true;
}
else{
result=false;
}
returnresult;
}
}
2.写一个方法,统计一个字符串中单词的个数,返回值为单词个数。
规定所有单词由小写字母组成,单词之间由若干个空格隔开。
例如若输入字符串"itisabook",得到结果为4。
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("----"+inint());
Console.ReadKey();
}
publicstaticintinint()
{
intn=0;
inti=0;
Console.WriteLine("pleaseinputsomewords....");
stringstr="itisabook";
for(i=0;i{
if(str[i]!
=''&&str[i+1]==''){
n++;
}
}
returnn;
}
}
6.写一个方法,将一个字符串中所有数字字符前加一个$字符,并返回处理后的字符串。
例如输入:
A1B23CD45,则方法返回值为:
A$1B$2$3CD$4$5
先将字符串转化为char[],申明一个arraylist,遍历char[]数组中的数据,如果为数字,
Arraylist.Add("$"+list[i]);否则array.Add(list[i]);再申明一个字符串数组str,接收arraylist[i].tostring()
最后把字符串数组转化为字符串stringres=string.jion(“”,str);
publicstaticstringinint()
{
stringdata;
chartemp='$';
Console.WriteLine("pleaseinputsomewords....");
data=Console.ReadLine();
char[]but=data.ToCharArray();
for(inti=0;i{
if(but[i]>='0'&&but[i]<='9')
{
Console.Write("${0}",but[i]);
}
else
{
Console.Write(but[i]);
}
}
}
publicstaticstringchange(stringdata)
{
char[]list=data.ToCharArray();
ArrayListarray=newArrayList();
for(inti=0;i{
if(list[i]<='9'&&list[i]>='0')
{
array.Add("$"+list[i]);
}
else{
array.Add(list[i]);
}
}
string[]res=newstring[array.Count];
for(inti=0;i{
res[i]=array[i].ToString();
}
stringkk=string.Join("",res);
returnkk;
}
7.写一个方法,将字符中所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。
方法返回转变后的字符串。
str="AbC"转变为串为="aBc"
cha[i]=(char)(cha[i]-32);
publicstaticvoidinint()
{
stringdata;
Console.WriteLine("pleaseinputsomewords....");
data=Console.ReadLine();
char[]but=data.ToCharArray();
for(inti=0;i{
if(but[i]>='a'&&but[i]<='z')
{
chartemp1=(char)(but[i]-32);
Console.Write("{0}",temp1);
}
else
{
chartemp2=(char)(but[i]+32);
Console.Write("{0}",temp2);
}
}
}
9.写一个方法,对两个整数m和n求其最大公约数,并作为返回值返回。
publicstaticintchange(intm,intn)
{
intmax=0;
intmin=n;
if(n>m){
min=m;
}
for(inti=1;i<=min;i++){
if(n%i==0&&m%i==0)
{
max=i;
}
}
returnmax;
}
10.写一个方法,对两个整数m和n求其最小公倍数,并作为返回值返回。
publicstaticintchange(intm,intn)
{
intmin;
intmax=m;
if(n>m){
max=n;
}
for(inti=max;;i++)
{
if(i%n==0&&i%m==0)
{
min=i;
break;
}
}
returnmin;
}
11.写一个方法,求s=a+aa+aaa+aaaa+aa...a的值,其中a是用户定义的数字。
例如2+22+222+2222+22222(此时共有5个数相加),返回值为和s。
publicstaticintchange(intm)
{
intres=0;
inttemp=0;
for(inti=1;i<=5;i++)
{
temp=temp*10+m;
res+=temp;
}
returnres;
}
12.写一个方法,判断一个数是否是完数,返回值为boolean类型。
一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3。
3.写一个方法,求分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...的前20项之和,并返回。
14.写一个方法,求1+2!
+3!
+...+n!
的和,并将和作为返回值返回
注意定义temp的位置,放在第一个for循环之后,每次都要重新定义为1
publicstaticintchange(intm)
{
intsum=1;
for(inti=2;i<=m;i++)
{
inttemp=1;
for(intj=1;j<=i;j++)
{
temp=temp*j;
}
sum=sum+temp;
}
returnsum;
}
17.写一个方法,在一个的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词,并将最长单词作为方法返回值返回。
classProgram
{
staticvoidMain(string[]args)
{
stringdata=Console.ReadLine();
Console.Write("最Á?
长¡è单Ì£¤词䨺是º?
:
êo"+GetLongest(data));
Console.ReadKey();
}
staticstringGetLongest(stringsource)
{
string[]array=source.Split('');
stringresult=null;
inti=0;
foreach(stringtinarray)
{
if(t.Length>i)
{
result=t;
i=t.Length;
}