C#小程序练习题及答案.docx
- 文档编号:25088945
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:46
- 大小:27.50KB
C#小程序练习题及答案.docx
《C#小程序练习题及答案.docx》由会员分享,可在线阅读,更多相关《C#小程序练习题及答案.docx(46页珍藏版)》请在冰豆网上搜索。
C#小程序练习题及答案
《C#程序设计基础》习题库程序
2010年6月3日提供给信息中心的原稿
20分题50个
40分题24个
1.(20)编一个程序,定义常量从键盘上输入半径r,求出圆的面积。
(k003101)
constdouble
doubler,s;
("请输入圆的半径");
r=());
s=Pi*r*r;
("圆的面积是{0}",s);
2.(20)编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们,然后用方法把它们输出成一列,小数点对齐,保留3位小数。
()
doublex,y,z;
("请输入一个数:
");
x=());
("请输入一个数:
");
y=());
("请输入一个数:
");
z=());
("{0,10:
f3}",x);
("{0,10:
f3}",y);
("{0,10:
f3}",z);
20)编一个程序,从键盘上输入三个数,用三元运算符(?
:
)把最大数找出来。
()
floatx,y,z,temp;
("请输入一个实数:
");
x=());
("请输入一个实数:
");
y=());
("请输入一个实数:
");
z=());
temp=x>=y?
x:
y;
temp=temp>=z?
temp:
z;
("最大数为:
{0}",temp);
4.(20)编一个程序,从键盘上输入三个数,用三元运算符(?
:
)把最小数找出来。
()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)输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)()
charch;
("请输入一个字符");
ch=());
if(ch>='A'&&ch<='Z')
("大写字母");
elseif(ch>='a'&&ch<='z')
("小写字母");
elseif(ch>='0'&&ch<='9')
("数字");
else
("其他字母");
7.(20)编一个程序,设圆的半径r=,高h=,定义圆周率常量Pi=,求出圆柱的体积。
()
constdoublePi=;
doubler=,h=;
doublev;
v=Pi*r*r*h;
("圆柱体的体积是{0}",v);
8.(20)编一个程序,设园半径r=,园柱高h=,圆周率定义为常量,求出圆周长、圆面积、圆柱体积。
然后用方法输出计算结果,输出时要求有文字说明,取小数点后2位数字。
例如,圆周长=×××.××。
()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)编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。
()
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)编一个程序,定义结构类型(有学号、姓名、性别和程序设计成绩四个字段),声明该结构类型变量,用赋值语句对该变量赋值以后再输出。
()
structstudent
{
publicintno;
publicstringname;
publicstringsex;
publicdoublescore;
}
classProgram
{
staticvoidMain(string[]args)
{
studentstu;
=10003;
="小小";
="女";
=;
("学生的学号是{0},名字叫{1},性别是{2},程序设计的成绩是{3}",,,,;
11.(20)编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。
最后输出结果。
()
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,输出结果。
()
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,则输出"这个数等于零。
",否则输出"这个数小于零。
"。
()
inti;
("请输入一个整数");
i=());
if(i>0)
{
("这个数大于0");
}
elseif(i==0)
{
("这个数等于0");
}
else
{
("这个数小于0");
}
14.(20)编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。
例如,实数经过四舍五入运算,得到结果13;而经过四舍五入运算,得到结果12。
()
doubled;
inti,e;
("请输入一个正数");
d=());
i=(int)d;
if((d-i)>=
e=i+1;
else
e=i;
("{0}四舍五入的结果为{1}",d,e);
15.(20)编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们,然后用ifelse选择语句找出它们中的最小数,最后输出结果。
()
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语句把它们的中间数找出来,可以使用逻辑运算符。 () floatx,y,z,second=0; ("请输入三个float类型的值"); x=()); y=()); z=()); if((x>y&&x second=x; elseif((y>x&&y second=y; else second=z; ("这三个数中的中间数为{0}",second); 17.(20)编一个程序,首先输入一个成绩(0到100的整数),用ifelse语句然后判断该成绩是优、良、中、及格还是不及格。 () 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以下))。 () intscore; ("请输入学生成绩"); score=()); score=score/10; switch(score) { case10: ("成绩优秀"); break; case9: ("成绩优秀"); break; case8: ("成绩良好"); break; case7: ("成绩及格"); break; case6: ("成绩及格"); break; default: ("成绩不及格"); break; 19.(20)编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。 () 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之和。 () 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<时停止计算。 () 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()方法,求出它们中的最大数和最小数。 () doubled1,d2,max,min; ("请输入两个实数"); d1=()); d2=()); max=(d1,d2); min=(d1,d2); ("最大值为{0},最小值为{1}",max,min); 23.(20)编一个程序,利用while循环语句和Math类中的Pow()方法,求出1到10的各个数的平方之和。 () 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是“水仙花数”。 () 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)之和。 () 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)编一个程序,输入二个正整数,求出它们的最大公约数。 () inti,j,k; ("请输入两个正整数"); i=()); j=()); k=i i: j; while(! (i%k==0&&j%k==0)) k--; ("最大公约数为{0}",k); 27.(20)编一个程序,用while循环语句,从键盘输入10个数,要求找出最大数和次大数。 () 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语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。 () 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的最大值。 () intk=1,s=0; while(s<2000) { s=s+k*k; k++; } ("k的值为{0}",k-2); 30.(20)编写一个程序,要求用while循环语句,打印1到100的正整数,每行打印5个数,每列右对齐。 () inti=1; while(i<=100) { ("{0,10: d1}",i); if(i%5==0) (); i++; 31.(20)Fibonacci序列的前二项是0和1,且每一个后继项是前二项的和。 编一个程序,输出项值不大于100的Fibonacci序列。 () 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)() 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之间的素数。 () 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循环语句实现下列功能: 有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至少有多少个。 () intnum=2; while(num<10000) { if(num%2==1&&num%3==1&&num%4==1) { ("这篮鸡蛋至少有{0}个",num); break; } num++; 35.(20)编一个程序,用for循环语句求出1到100之间的奇数之和。 () inti,s=0; for(i=1;i<=100;i=i+2) { s=s+i; } ("1-100之间所有奇数的和为{0}",s); 36.(20)编一个程序,利用二重for循环语句,打印出九九乘法口诀表。 () 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名同学的数学平均成绩。 () 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 程序 练习题 答案