logo资料库

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

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
《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}" Console .WriteLine( "{0,10:f3}" Console .WriteLine( "{0,10:f3}" , x); , y); , 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)编一个程序,从键盘上输入三个数,用三元运算符( ? : )把最小数找 出来。 (k10052702) 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 else 语句,如果该数大于 0,则加 上100,否则加上 500,输出结果。( k10032301) 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 else 语句把它们的中间数找 出来,可以使用逻辑运算符。 (k10032309) 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) a, i, j, k; int 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 页
分享到:
收藏