logo资料库

c#程序习题库与答案.doc

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
51.(20)编一个程序,输入一个字符串,用ToCharArray()方法把字符串中的内容拷贝到字符
52.(20)编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出
《C#程序设计基础》习题库程序 2010 年 6 月 3 日提供给信息中心的原稿 20 分题 50 个 40 分题 24 个 1.(20)编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面 积。(k003101) const double Pi = 3.14159265; double r,s; Console.WriteLine("请输入圆的半径"); r = double.Parse(Console.ReadLine()); s = Pi * r * r; Console.WriteLine("圆的面积是{0}",s); 2.(20) 编一个程序,定义三个double类型的变量,分别从键盘上输入值给它 们,然后用Console.WriteLine方法把它们输出成一列,小数点对齐,保留3位小 数。(k10052703) double x, y, z; Console.WriteLine("请输入一个数:"); x = double.Parse(Console.ReadLine()); Console.WriteLine("请输入一个数:"); y = double.Parse(Console.ReadLine()); Console.WriteLine("请输入一个数:"); z = double.Parse(Console.ReadLine()); Console.WriteLine("{0,10:f3}", x); Console.WriteLine("{0,10:f3}", y); Console.WriteLine("{0,10:f3}", z); //Console.WriteLine("{0:f3}", x); //Console.WriteLine("{0:f3}", y); //Console.WriteLine("{0:f3}", z); 3.(20)编一个程序,从键盘上输入三个数,用三元运算符(? :)把最大数找 出来。(k10031505) float x, y, z, temp; Console.Write("请输入一个实数:"); x = float.Parse(Console.ReadLine()); Console.Write("请输入一个实数:"); y = float.Parse(Console.ReadLine()); Console.Write("请输入一个实数:"); 第 1 页
z = float.Parse(Console.ReadLine()); temp = x >= y ? x : y; temp = temp >= z ? temp : z; Console.WriteLine("最大数为:{0}", temp); 4.(20)编一个程序,从键盘上输入三个数,用三元运算符(? :)把最小数找 出来。float x, y, z, temp; Console.Write("请输入一个实数:"); x = float.Parse(Console.ReadLine()); Console.Write("请输入一个实数:"); y = float.Parse(Console.ReadLine()); Console.Write("请输入一个实数:"); z = float.Parse(Console.ReadLine()); temp = x <= y ? x : y; temp = temp <= z ? temp : z; Console.WriteLine("最大数为:{0}", temp); 5.(20)编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否 则不转换。(k1003205) char ch; Console.WriteLine("请输入一个字符"); ch = char.Parse(Console.ReadLine()); if (ch >= 'A' && ch <= 'Z') { ch = (char)(ch + 32); } Console.WriteLine(ch); 6.(20)输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数 字或者其它字符)(k10031802) char ch; Console.WriteLine("请输入一个字符"); ch = char.Parse(Console.ReadLine()); if (ch >= 'A' && ch <= 'Z') Console.WriteLine("大写字母"); else if (ch >= 'a' && ch <= 'z') Console.WriteLine("小写字母"); else if (ch >= '0' && ch <= '9') Console.WriteLine("数字"); else Console.WriteLine("其他字母"); 7.(20)编一个程序,设圆的半径r=1.2,高h=1.5,定义圆周率常量Pi=3.1415, 求出圆柱的体积。(k10032305) const double Pi = 3.1415; double r=1.2,h=1.5; double v; v = Pi * r * r * h; 第 2 页
Console.WriteLine("圆柱体的体积是{0}",v); 8. (20)编一个程序,设园半径r=1.5,园柱高h=3.6,圆周率3.1415定义为常量, 求出圆周长、圆面积、圆柱体积。然后用Console.WriteLine方法输出计算结果, 输出时要求有文字说明,取小数点后2位数字。例如,圆周长=×××.××。 (k10052707) const double Pi = 3.1415; double r = 3, h = 5; double c, s, v; c = 2 * Pi * r; s = Pi * r * r; v = Pi * r * r * h; Console.WriteLine("圆的周长为{0:f2}",c); Console.WriteLine("圆的面积为{0:f2}", s); Console.WriteLine("圆的体积为{0:f2}", v); 9.(20)编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为 小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。 (k10032601) char ch,c; Console.WriteLine("请输入一个字符"); ch = char.Parse(Console.ReadLine()); if (ch >= 'A' && ch <= 'Z') { c = (char)(ch + 32); Console.WriteLine("字符{0}为大写字母,转换为小写字母为{1}", ch, c); } else if (ch >= 'a' && ch <= 'z') { c = (char)(ch - 32); Console.WriteLine("字符{0}为小写字母,转换为大写字母为{1}", ch, c); } else Console.WriteLine("{0}既不是大写字母也不是小写字母",ch); 10.(20)编一个程序,定义结构类型(有学号、姓名、性别和程序设计成绩四 个字段),声明该结构类型变量,用赋值语句对该变量赋值以后再输出。 (k10031601) struct student { public int no; public string name; public string sex; public double score; } class Program { static void Main(string[] args) 第 3 页
{ student stu; stu.no = 10003; stu.name = "小小"; stu.sex = "女"; stu.score = 89.5; Console.WriteLine("学生的学号是{0},名字叫{1},性别是{2},程序设计的成绩是 {3}",stu.no,stu.name,stu.sex,stu.score); 11.(20)编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在 闭区间[0,100]里,则加上1000,否则不加。最后输出结果。(k10032304) float f,g; Console.WriteLine("请输入一个实数变量"); f = float.Parse(Console.ReadLine()); if (f >= 0 && f <= 100) { g = f + 1000; Console.WriteLine("{0}在0-100之间,最后结果为{1}", f, g); } else Console.WriteLine("{0}不在0-100之间",f); 12.(20)编一个程序,输入一个整数,使用if 上100,否则加上500,输出结果。(k10032301) else语句,如果该数大于0,则加 int i,j; Console.WriteLine("请输入一个整数"); i = int.Parse(Console.ReadLine()); if (i > 0) { j = i + 100; Console.WriteLine("{0}>0,最后结果是{1}", i, j); } else { j = i + 500; Console.WriteLine("{0}<0,最后结果是{1}",i,j); 13.(20)编一个程序,用if else语句,输入一个整数,如果该数大于0,则输 出"这个数大于零。",如果该数等于0,则输出"这个数等于零。",否则输出"这个 数小于零。"。(k10032302) int i; Console.WriteLine("请输入一个整数"); i = int.Parse(Console.ReadLine()); if (i > 0) { Console.WriteLine("这个数大于0"); } 第 4 页
else if(i==0) { Console.WriteLine("这个数等于0"); } else { Console.WriteLine("这个数小于0"); } 14.(20)编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。例 如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得 到结果12。 (k10012803) double d; int i,e; Console.WriteLine("请输入一个正数"); d = double.Parse(Console.ReadLine()); i=(int)d; if ((d - i) >= 0.5) e = i + 1; else e = i; Console.WriteLine("{0}四舍五入的结果为{1}", d, e); 15.(20)编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们, 然后用if else选择语句找出它们中的最小数,最后输出结果。(k10052604) float x, y, z,min=0; Console.WriteLine("请输入三个float类型的值"); x = float.Parse(Console.ReadLine()); y = float.Parse(Console.ReadLine()); z = float.Parse(Console.ReadLine()); if (x < y && x < z) min = x; else if (y < x && y < z) min = y; else min = z; Console.WriteLine("这三个数中的最小值为{0}",min); 16.(20)编一个程序,输入三个实数,要求使用 if 出来,可以使用逻辑运算符。(k10032309) else 语句把它们的中间数找 float x, y, z, second = 0; Console.WriteLine("请输入三个float类型的值"); x = float.Parse(Console.ReadLine()); y = float.Parse(Console.ReadLine()); z = float.Parse(Console.ReadLine()); if ((x>y&&xz)) second = x; 第 5 页
else if ((y>x&&yz)) second = y; else second = z; Console.WriteLine("这三个数中的中间数为{0}", second); 17.(20)编一个程序,首先输入一个成绩(0 到 100 的整数),用 if else 语句 然后判断该成绩是优、良、中、及格还是不及格。(k10040501) double score; Console.WriteLine("请输入一个成绩"); score = double.Parse(Console.ReadLine()); if (score >= 90) Console.WriteLine("优"); else if (score >= 80) Console.WriteLine("良"); else if (score >= 70) Console.WriteLine("中"); else if (score >= 60) Console.WriteLine("及格"); else Console.WriteLine("不及格"); 18.(20)编一个程序,输入 0—100 之间的一个学生成绩分数,用 switch 语句 输出成绩等第(成绩优秀(90-100),成绩良好(80-89),成绩及格(60-79) 和成绩不及格(59 以下))。(k10032403) int score; Console.WriteLine("请输入学生成绩"); score = int.Parse(Console.ReadLine()); score = score / 10; switch (score) { case 10: Console.WriteLine("成绩优秀"); break; case 9: Console.WriteLine("成绩优秀"); break; case 8: Console.WriteLine("成绩良好"); break; case 7: Console.WriteLine("成绩及格"); break; case 6: Console.WriteLine("成绩及格"); break; 第 6 页
default: Console.WriteLine("成绩不及格"); break; 19.(20)编一个程序,利用 do-while 循环语句,从键盘上输入 10 个整数,求出 它们的和。(k10020105) int i=1,n,sum=0; do { Console.WriteLine("请输入一个整数"); n = int.Parse(Console.ReadLine()); sum = sum + n; i++; }while(i<=10); Console.WriteLine("这十个整数的和为{0}",sum); 20.(20) 编一个程序,用 while 循环语句来计算 1+1/2+2/3+3/4+...+99/100 之和。(k10052605) double i = 1,s=1; while(i<=99) { s = s + i / (i + 1); i++; } Console.WriteLine("和为{0}",s); 21.(20)编一个程序,用 do-while 循环语句来计算 PI=4*(1-1/3+1/5+...+1/n), 要求当 1/n<0.000001 时停止计算。(k10041502) double pi,s=0,x; double n=1; do { x = Math.Pow(-1,n + 1) / (2 * n - 1); s = s + x; n++; } while (1 / n >= 0.000001); pi = s * 4; Console.WriteLine("pi 的值为:{0}",pi); 22.(20)编一个程序,从键盘上输入二个实数,使用 Math 类中 Max()和 Min() 方法,求出它们中的最大数和最小数。(k10040604) double d1, d2,max,min; Console.WriteLine("请输入两个实数"); d1 = double.Parse(Console.ReadLine()); d2 = double.Parse(Console.ReadLine()); max=Math.Max(d1,d2); min = Math.Min(d1,d2); Console.WriteLine("最大值为{0},最小值为{1}",max,min); 第 7 页
23.(20)编一个程序,利用 while 循环语句和 Math 类中的 Pow()方法,求出 1 到 10 的各个数的平方之和。(k10040602) double i = 1,s=0; while (i <= 10) { s = s + Math.Pow(i, 2); i++; } Console.WriteLine("和为{0}",s); 24.(20)编一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个 三位数,其各位数字立方和等于该数本身。例如, 153=1*1*1+5*5*5+3*3*3, 所以153是“水仙花数”。(k10033106) int a, i, j, k; for (a = 100; a <= 999; a++) { i = a % 10; k = a / 100; j = a % 100 / 10; if (a == Math.Pow(i, 3) + Math.Pow(j, 3) + Math.Pow(k, 3)) Console.WriteLine("{0}是水仙花数",a); 25.(20)编写一个程序,用while语句,求出1+(1+2)+(1+2+3)+...+(1+2+3+...+10) 之和。(k10041803) int i = 1, s = 0,j=1, s1 = 0; while (j <=10) { while (i <= j) { s = s + i; i++; } s1=s1+s; j++; } 26.(20)编一个程序,输入二个正整数,求出它们的最大公约数。(k10041901) Console.WriteLine("{0}", s1); int i, j,k; Console.WriteLine("请输入两个正整数"); i = int.Parse(Console.ReadLine()); j = int.Parse(Console.ReadLine()); k = i < j ? i : j; while (!(i % k == 0 && j % k == 0)) k--; Console.WriteLine("最大公约数为{0}",k); 第 8 页
分享到:
收藏