C#小程序练习题及答案.docx

上传人:b****6 文档编号:5682064 上传时间:2022-12-31 格式:DOCX 页数:39 大小:27.97KB
下载 相关 举报
C#小程序练习题及答案.docx_第1页
第1页 / 共39页
C#小程序练习题及答案.docx_第2页
第2页 / 共39页
C#小程序练习题及答案.docx_第3页
第3页 / 共39页
C#小程序练习题及答案.docx_第4页
第4页 / 共39页
C#小程序练习题及答案.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

C#小程序练习题及答案.docx

《C#小程序练习题及答案.docx》由会员分享,可在线阅读,更多相关《C#小程序练习题及答案.docx(39页珍藏版)》请在冰豆网上搜索。

C#小程序练习题及答案.docx

C#小程序练习题及答案

《C#程序设计基础》习题库程序

 

2010年6月3日提供给信息中心的原稿

20分题50个

40分题24个

1.(20)编一个程序,定义常量Pi=3.,从键盘上输入半径r,求出圆的面积。

(k003101)

constdoublePi=3.;

doubler,s;

("请输入圆的半径");

r=());

s=Pi*r*r;

("圆的面积是{0}",s);

2.(20)编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们,然后用方法把它们输出成一列,小数点对齐,保留3位小数。

(k)

doublex,y,z;

("请输入一个数:

");

x=());

("请输入一个数:

");

y=());

("请输入一个数:

");

z=());

("{0,10:

f3}",x);

("{0,10:

f3}",y);

("{0,10:

f3}",z);

20)编一个程序,从键盘上输入三个数,用三元运算符(?

:

)把最大数找出来。

(k)

floatx,y,z,temp;

("请输入一个实数:

");

x=());

("请输入一个实数:

");

y=());

("请输入一个实数:

");

z=());

temp=x>=y?

x:

y;

temp=temp>=z?

temp:

z;

("最大数为:

{0}",temp);

4.(20)编一个程序,从键盘上输入三个数,用三元运算符(?

:

)把最小数找出来。

(k)floatx,y,z,temp;

("请输入一个实数:

");

x=());

("请输入一个实数:

");

y=());

("请输入一个实数:

");

z=());

temp=x<=y?

x:

y;

temp=temp<=z?

temp:

z;

("最大数为:

{0}",temp);

5.(20)编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否则不转换。

(k1003205)

charch;

("请输入一个字符");

ch=());

if(ch>='A'&&ch<='Z')

{

ch=(char)(ch+32);

}

(ch);

6.(20)输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)(k)

charch;

("请输入一个字符");

ch=());

if(ch>='A'&&ch<='Z')

("大写字母");

elseif(ch>='a'&&ch<='z')

("小写字母");

elseif(ch>='0'&&ch<='9')

("数字");

else

("其他字母");

7.(20)编一个程序,设圆的半径r=,高h=,定义圆周率常量Pi=,求出圆柱的体积。

(k)

constdoublePi=;

doubler=,h=;

doublev;

v=Pi*r*r*h;

("圆柱体的体积是{0}",v);

8.(20)编一个程序,设园半径r=,园柱高h=,圆周率定义为常量,求出圆周长、圆面积、圆柱体积。

然后用方法输出计算结果,输出时要求有文字说明,取小数点后2位数字。

例如,圆周长=×××.××。

(k)constdoublePi=;

doubler=3,h=5;

doublec,s,v;

c=2*Pi*r;

s=Pi*r*r;

v=Pi*r*r*h;

("圆的周长为{0:

f2}",c);

("圆的面积为{0:

f2}",s);

("圆的体积为{0:

f2}",v);

9.(20)编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。

(k)

charch,c;

("请输入一个字符");

ch=());

if(ch>='A'&&ch<='Z')

{

c=(char)(ch+32);

("字符{0}为大写字母,转换为小写字母为{1}",ch,c);

}

elseif(ch>='a'&&ch<='z')

{

c=(char)(ch-32);

("字符{0}为小写字母,转换为大写字母为{1}",ch,c);

}

else

("{0}既不是大写字母也不是小写字母",ch);

10.(20)编一个程序,定义结构类型(有学号、姓名、性别和程序设计成绩四个字段),声明该结构类型变量,用赋值语句对该变量赋值以后再输出。

(k)

structstudent

{

publicintno;

publicstringname;

publicstringsex;

publicdoublescore;

}

classProgram

{

staticvoidMain(string[]args)

{

studentstu;

=10003;

="小小";

="女";

=;

("学生的学号是{0},名字叫{1},性别是{2},程序设计的成绩是{3}",,,,;

11.(20)编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。

最后输出结果。

(k)

floatf,g;

("请输入一个实数变量");

f=());

if(f>=0&&f<=100)

{

g=f+1000;

("{0}在0-100之间,最后结果为{1}",f,g);

}

else

("{0}不在0-100之间",f);

12.(20)编一个程序,输入一个整数,使用ifelse语句,如果该数大于0,则加上100,否则加上500,输出结果。

(k)

inti,j;

("请输入一个整数");

i=());

if(i>0)

{

j=i+100;

("{0}>0,最后结果是{1}",i,j);

}

else

{

j=i+500;

("{0}<0,最后结果是{1}",i,j);

13.(20)编一个程序,用ifelse语句,输入一个整数,如果该数大于0,则输出"这个数大于零。

",如果该数等于0,则输出"这个数等于零。

",否则输出"这个数小于零。

"。

(k)

inti;

("请输入一个整数");

i=());

if(i>0)

{

("这个数大于0");

}

elseif(i==0)

{

("这个数等于0");

}

else

{

("这个数小于0");

}

14.(20)编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。

例如,实数经过四舍五入运算,得到结果13;而经过四舍五入运算,得到结果12。

(k)

doubled;

inti,e;

("请输入一个正数");

d=());

i=(int)d;

if((d-i)>=

e=i+1;

else

e=i;

("{0}四舍五入的结果为{1}",d,e);

15.(20)编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们,然后用ifelse选择语句找出它们中的最小数,最后输出结果。

(k)

floatx,y,z,min=0;

("请输入三个float类型的值");

x=());

y=());

z=());

if(x

min=x;

elseif(y

min=y;

else

min=z;

("这三个数中的最小值为{0}",min);

16.(20)编一个程序,输入三个实数,要求使用ifelse语句把它们的中间数找出来,可以使用逻辑运算符。

(k)

floatx,y,z,second=0;

("请输入三个float类型的值");

x=());

y=());

z=());

if((x>y&&xz))

second=x;

elseif((y>x&&yz))

second=y;

else

second=z;

("这三个数中的中间数为{0}",second);

17.(20)编一个程序,首先输入一个成绩(0到100的整数),用ifelse语句然后判断该成绩是优、良、中、及格还是不及格。

(k)

doublescore;

("请输入一个成绩");

score=());

if(score>=90)

("优");

elseif(score>=80)

("良");

elseif(score>=70)

("中");

elseif(score>=60)

("及格");

else

("不及格");

18.(20)编一个程序,输入0—100之间的一个学生成绩分数,用switch语句输出成绩等第(成绩优秀(90-100),成绩良好(80-89),成绩及格(60-79)和成绩不及格(59以下))。

(k)

intscore;

("请输入学生成绩");

score=());

score=score/10;

switch(score)

{

case10:

("成绩优秀");

break;

case9:

("成绩优秀");

break;

case8:

("成绩良好");

break;

case7:

("成绩及格");

break;

case6:

("成绩及格");

break;

default:

("成绩不及格");

break;

19.(20)编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。

(k)

inti=1,n,sum=0;

do

{

("请输入一个整数");

n=());

sum=sum+n;

i++;

}while(i<=10);

("这十个整数的和为{0}",sum);

20.(20)编一个程序,用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和。

(k)

doublei=1,s=1;

while(i<=99)

{

s=s+i/(i+1);

i++;

}

("和为{0}",s);

21.(20)编一个程序,用do-while循环语句来计算PI=4*(1-1/3+1/5+...+1/n),要求当1/n<时停止计算。

(k)

doublepi,s=0,x;

doublen=1;

do

{

x=(-1,n+1)/(2*n-1);

s=s+x;

n++;

}while(1/n>=;

pi=s*4;

("pi的值为:

{0}",pi);

22.(20)编一个程序,从键盘上输入二个实数,使用Math类中Max()和Min()方法,求出它们中的最大数和最小数。

(k)

doubled1,d2,max,min;

("请输入两个实数");

d1=());

d2=());

max=(d1,d2);

min=(d1,d2);

("最大值为{0},最小值为{1}",max,min);

23.(20)编一个程序,利用while循环语句和Math类中的Pow()方法,求出1到10的各个数的平方之和。

(k)

doublei=1,s=0;

while(i<=10)

{

s=s+(i,2);

i++;

}

("和为{0}",s);

24.(20)编一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如,153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”。

(k)

inta,i,j,k;

for(a=100;a<=999;a++)

{

i=a%10;

k=a/100;

j=a%100/10;

if(a==(i,3)+(j,3)+(k,3))

("{0}是水仙花数",a);

25.(20)编写一个程序,用while语句,求出1+(1+2)+(1+2+3)+...+(1+2+3+...+10)之和。

(k)

inti=1,s=0,j=1,s1=0;

while(j<=10)

{

while(i<=j)

{

s=s+i;

i++;

}

s1=s1+s;

j++;

}

("{0}",s1);

26.(20)编一个程序,输入二个正整数,求出它们的最大公约数。

(k)

inti,j,k;

("请输入两个正整数");

i=());

j=());

k=i

i:

j;

while(!

(i%k==0&&j%k==0))

k--;

("最大公约数为{0}",k);

27.(20)编一个程序,用while循环语句,从键盘输入10个数,要求找出最大数和次大数。

(k)

inti=1,max=1,max1=1;

ints;

("请输入10个数:

");

while(i<=10)

{

s=());

if(s>max)

{

max1=max;

max=s;

}

elseif(s>max1)

{

s=max1;

}

i++;

}

("最大值为{0},次大值为{1}",max,max1);

28.(40)编一个程序,要求使用while语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。

(k)

conststringUserName="admin";

conststringPassWord="123456";

stringusername,password;

inti=1;

while(i<=3)

{

("请输入用户名");

username=();

("请输入密码");

password=();

if(username==UserName&&password==PassWord)

break;

else

("你输入的用户名或者密码错误,请重新输入用户名和密码");

i++;

}

if(i<=3)

{

("正在登录系统");

}

else

("不能登录系统");

29.(20)有关系式1*1+2*2+3*3+...+k*k<2000,编一个程序,求出满足此关系式的k的最大值。

(k)

intk=1,s=0;

while(s<2000)

{

s=s+k*k;

k++;

}

("k的值为{0}",k-2);

30.(20)编写一个程序,要求用while循环语句,打印1到100的正整数,每行打印5个数,每列右对齐。

(k)

inti=1;

while(i<=100)

{

("{0,10:

d1}",i);

if(i%5==0)

();

i++;

31.(20)Fibonacci序列的前二项是0和1,且每一个后继项是前二项的和。

编一个程序,输出项值不大于100的Fibonacci序列。

(k)

intf1=0;

intf2=1;

intf3;

while(f1<100)

{

f3=f1+f2;

("{0},",f1);

f1=f2;

f2=f3;

}

32.(40)编一个程序,输入a,b,c的值,求出一元二次方程a*x*x+b*x+c=0的二个实数根。

计算二个实数根必须使用Math类中的Sqrt()方法,计算指定数的开方。

计算二个实数根,可以用公式(-b+(b*b-4*a*c))/(2*a)和(b*b-4*a*c))/(2*a)(k)

inta,b,c;

doublex1,x2;

("请输入a,b,c的值");

a=());

b=());

c=());

if(b*b-4*a*c>=0)

{

x1=(-b+(b*b-4*a*c))/(2*a);

x2=(-b-(b*b-4*a*c))/(2*a);

("这个方程的两个根是{0},{1}",x1,x2);

}

else

("这个方程没有解");

33.编一个程序,利用while循环语句,找出2到100之间的素数。

(k)

inti=2,j;

boolb;

("2到100中的素数为:

");

while(i<=100)

{

b=true;

j=2;

while(j<=i-1)

{

if(i%j==0)

{

b=false;

break;

}

j++;

}

if(b==true)("{0}",i);

i++;

}

();

34.(20)编一个程序,用while循环语句实现下列功能:

有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至少有多少个。

(k)

intnum=2;

while(num<10000)

{

if(num%2==1&&num%3==1&&num%4==1)

{

("这篮鸡蛋至少有{0}个",num);

break;

}

num++;

35.(20)编一个程序,用for循环语句求出1到100之间的奇数之和。

(k)

inti,s=0;

for(i=1;i<=100;i=i+2)

{

s=s+i;

}

("1-100之间所有奇数的和为{0}",s);

36.(20)编一个程序,利用二重for循环语句,打印出九九乘法口诀表。

(k)

ints;

for(inti=1;i<=9;i++)

{

for(intj=1;j<=i;j++)

{

s=i*j;

("{0}*{1}={2}",j,i,s);

}

();

37.(20)编一个程序,定义一个有10个元素的数组,使用for循环语句,从键盘上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出10名同学的数学平均成绩。

(k)

double[]math=newdouble[10];

("请输入10名学生的数学成绩");

for(inti=0;i<;i++)

{

math[i]=());

}

doublemax=math[0],min=math[0],ave,sum=0;

for(intj=0;j<;j++)

{

if(max

max=math[j];

if(min>math[j])

min=math[j];

sum=sum+math[j];

}

ave=sum/;

("最高分为{0},最低分为{1},平均分为{2}",max,min,ave);

38.(20)编一个程序,利用for循环语句,求出1!

+2!

+3!

+...+10!

的和。

(k)ints=0,jc=1;

for(intj=1;j<=10;j++)

{

jc=jc*j;

s=s+jc;

}

("1!

+2!

+3!

+4!

+5!

+6!

+7!

+8!

+9!

+10!

的和为{0}",s);

39.(20)编一个程序,用for循环语句求出1到100之间的奇数之和,以及偶数之和。

(k1002601)

longi,j,m,s=0;

for(i=1;i<=10;i++)

{

m=1;

for(j=1;j<=i;j++)m=m*j;

s=s+m;

}

("1!

+2!

+3!

+...+10!

="+s);

40.(20)编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数之和。

(k)

inti;

doublesum1=0,sum2=0,x;

for(i=1;i<=10;i++)

{

("请输入一个实数:

");

x=());

if(x>0)

sum1+=x;

else

sum2+=x;

}

("正数之和:

{0},负数之和:

{1}",sum1,sum2);

41.(20)编一个程序,把一张1元的钞票换成5分,2分和1分的硬币,要求每种至少一枚,并且所换硬币数不超过30枚。

请问,有哪几种换法?

(k)

inti,j,k;

("一分:

\t二分:

\t五分:

");

for(i=1;i<=100;i++)

for(j=1;j<=50;j++)

for(k=1;k<=20;k++)

if(i+2*j+5*k==100&&i+j+k<=30)("{0}枚\t{1}枚\t{2}枚",i,j,k);

42.(20)编一个程序,把一张面值100元的钞票换成5元,1元和5角面值的钞票,要求100元换以上的零钱100张,且要求每种不少于一张。

请问,有哪几种换法?

(k)

inti,j,k;20)编一个程序,解决百钱买百鸡问题。

某人有100元钱,要买100只鸡。

公鸡5元钱一只,母鸡3元钱一只,小鸡一元钱3只。

问可买到公鸡,母鸡,小鸡各为多少只。

问题分析:

设公鸡x只,母鸡y只,小鸡z只,可以列出两个方程:

x+y+z=100

5x+3y+z/3=100

我们采用“穷举法”来解决此问题。

(k)

doublez;

for(doublex=1;x<=20;x++)

for(doubley=1;y<=33;y++)

{

z=100-x-y;

if(5*x+3*y+z/3==100)

{

("公鸡{0}只,母鸡{1}只,小鸡{2}只",x,y,z);

}

}

44.(20)编一个程序,定义数组,用for循环语句,顺序输入10个实数,然后逆序输出这10个数。

(k)

inti;

int[]a=newint[10];

for(i=0;i<10;i++)

{

("请输入一个数:

");

a[i]=());

}

();

for(i=9;i>=0;i--)

{

("{0}",a[i]);

}

();

45.(40)编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序。

(k)

inti,j,temp;

const

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1