《C_程序设计基础》习题库程序.doc

上传人:飞****2 文档编号:52776173 上传时间:2022-10-23 格式:DOC 页数:31 大小:172KB
返回 下载 相关 举报
《C_程序设计基础》习题库程序.doc_第1页
第1页 / 共31页
《C_程序设计基础》习题库程序.doc_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《《C_程序设计基础》习题库程序.doc》由会员分享,可在线阅读,更多相关《《C_程序设计基础》习题库程序.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1.(20)编一个程序,定义常量Pi=3.,从键盘上输入半径r,求出圆的面积。(k)const double Pi = 3.;double r,s;Console.WriteLine(请输入圆的半径);r = double.Parse(Console.ReadLine();s = Pi * r * r;Console.WriteLine(圆的面积是0,s);2.(20) 编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们,然后用Console.WriteLine方法把它们输出成一列,小数点对齐,保留3位小数。(k)double x, y, z;Console.WriteLin

2、e(请输入一个数:);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.

3、WriteLine(0:f3, y);/Console.WriteLine(0:f3, z);3.(20)编一个程序,从键盘上输入三个数,用三元运算符(? :)把最大数找出来。(k)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

4、 ? x : y;temp = temp = z ? temp : z;Console.WriteLine(最大数为:0, temp);4.(20)编一个程序,从键盘上输入三个数,用三元运算符(? :)把最小数找出来。(k) 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.R

5、eadLine();temp = x = y ? x : y;temp = temp = A & ch = A & ch = a & ch = 0 & ch = A & ch = a & ch = 0 & f 0)j = i + 100;Console.WriteLine(00,最后结果是1, i, j);elsej = i + 500;Console.WriteLine(0 0)Console.WriteLine(这个数大于0);else if(i=0)Console.WriteLine(这个数等于0);elseConsole.WriteLine(这个数小于0); 14(20)编一个程序,输

6、入一个正数,对该数进行四舍五入到个位数的运算。例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。 (k)double d;int i,e;Console.WriteLine(请输入一个正数);d = double.Parse(Console.ReadLine();i=(int)d;if (d - i) = 0.5)e = i + 1;elsee = i;Console.WriteLine(0四舍五入的结果为1, d, e);15.(20)编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们, 然后用if else选择语句找出它们中的

7、最小数,最后输出结果。(k)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 y&xz)|(xz)second = x;else if (yx&yz)|(yz)second = y;elsesecond = z;Console.WriteLine(这三个

8、数中的中间数为0, second);17(20)编一个程序,首先输入一个成绩(0到100的整数),用if else语句然后判断该成绩是优、良、中、及格还是不及格。(k)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 = 6

9、0)Console.WriteLine(及格);elseConsole.WriteLine(不及格);18(20)编一个程序,输入0100之间的一个学生成绩分数,用switch语句输出成绩等第(成绩优秀(90-100),成绩良好(80-89),成绩及格(60-79)和成绩不及格(59以下)。(k)int score;Console.WriteLine(请输入学生成绩);score = int.Parse(Console.ReadLine();score = score / 10;switch (score)case 10:Console.WriteLine(成绩优秀);break;case 9

10、:Console.WriteLine(成绩优秀);break;case 8:Console.WriteLine(成绩良好);break;case 7:Console.WriteLine(成绩及格);break;case 6:Console.WriteLine(成绩及格);break;default:Console.WriteLine(成绩不及格);break;19(20)编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。(k)int i=1,n,sum=0;doConsole.WriteLine(请输入一个整数);n = int.Parse(Console.Rea

11、dLine();sum = sum + n;i+;while(i=10);Console.WriteLine(这十个整数的和为0,sum);20.(20) 编一个程序,用while循环语句来计算1+1/2+2/3+3/4+.+99/100之和。(k)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.);pi = s * 4;Console.WriteLine(pi的值为:0

12、,pi);22(20)编一个程序,从键盘上输入二个实数,使用Math类中Max()和Min()方法,求出它们中的最大数和最小数。(k)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);23(20)编一个程序,利用while循环语句和Math类

13、中的Pow()方法,求出1到10的各个数的平方之和。(k) 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是“水仙花数”。(k)int a, i, j, k;for (a = 100; a = 999; a+)i = a % 10;k = a / 100;j = a % 100 / 10;if (a =

14、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)之和。(k)int i = 1, s = 0,j=1, s1 = 0;while (j =10)while (i = j)s = s + i;i+;s1=s1+s;j+;Console.WriteLine(0, s1);26(20)编一个程序,输入二个正整数,求出它们的最大公约数。(k)int i, j,k;Console.WriteLi

15、ne(请输入两个正整数);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);27(20)编一个程序,用while循环语句,从键盘输入10个数,要求找出最大数和次大数。(k)int i=1,max=1,max1=1;int s;Console.WriteLine(请输入10个数:);while (i max)max1 = max;max = s;else if

16、 (s max1)s = max1;i+;Console.WriteLine(最大值为0,次大值为1,max,max1);28(40)编一个程序,要求使用while语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。(k)const string UserName = admin;const string PassWord = ;string username, password;int i=1;while(i=3)Console.WriteLine(请输入用户名);username = Console.ReadLine();Console.WriteLine

17、(请输入密码);password = Console.ReadLine();if (username = UserName & password = PassWord)break;elseConsole.WriteLine(你输入的用户名或者密码错误,请重新输入用户名和密码);i+;if (i = 3)Console.WriteLine(正在登录系统);elseConsole.WriteLine(不能登录系统);29(20)有关系式1*1+2*2+3*3+.+k*k2000,编一个程序,求出满足此关系式的k的最大值。(k)int k = 1,s=0;while (s 2000)s = s +

18、k * k;k+;Console.WriteLine(k的值为0,k-2);30(20)编写一个程序,要求用while循环语句,打印1到100的正整数,每行打印5个数,每列右对齐。(k)int i = 1;while (i = 100)Console.Write(0,10:d1,i);if (i % 5 = 0)Console.WriteLine();i+;31(20)Fibonacci序列的前二项是0和1,且每一个后继项是前二项的和。编一个程序,输出项值不大于100的Fibonacci序列。(k)int f1 = 0;int f2 = 1;int f3;while(f1= 0)x1 = (-

19、b + Math.Sqrt(b * b - 4 * a * c) / (2 * a);x2 = (-b - Math.Sqrt(b * b - 4 * a * c) / (2 * a);Console.WriteLine(这个方程的两个根是0,1, x1, x2);elseConsole.WriteLine(这个方程没有解);33编一个程序,利用while循环语句,找出2到100之间的素数。(k)int i = 2, j;bool b;Console.WriteLine(2到100中的素数为:);while (i = 100)b = true;j = 2;while (j = i - 1)if

20、 (i % j = 0)b = false;break;j+;if (b=true) Console.Write(0 , i);i+;Console.WriteLine();34(20)编一个程序,用while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至少有多少个。(k)int num=2;while(num10000)if (num % 2 = 1 & num % 3 = 1 & num % 4 = 1)Console.Write(这篮鸡蛋至少有0个, num);break;num+;35(20)编一个

21、程序,用for循环语句求出1到100之间的奇数之和。(k)int i,s=0;for (i = 1; i = 100; i = i + 2)s = s + i;Console.WriteLine(1-100之间所有奇数的和为0,s);36.(20)编一个程序,利用二重for循环语句,打印出九九乘法口诀表。(k)int s;for (int i = 1; i = 9; i+)for(int j=1;j=i;j+)s=i*j;Console.Write(0*1=2 ,j,i,s);Console.WriteLine();37(20)编一个程序,定义一个有10个元素的数组,使用for循环语句,从键盘

22、上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出10名同学的数学平均成绩。(k)double math=new double 10;Console.WriteLine(请输入10名学生的数学成绩);for (int i = 0; i math.Length; i+)mathi = double.Parse(Console.ReadLine();double max=math0, min=math0,ave,sum=0;for (int j = 0; j math.Length; j+)if (max mathj)min = mathj;sum = sum + mathj;ave =

23、 sum / math.Length;Console.WriteLine(最高分为0,最低分为1,平均分为2,max,min,ave);38(20)编一个程序,利用for循环语句,求出1!+2!+3!+.+10!的和。(k) int s = 0, jc = 1;for (int j = 1; j = 10; j+)jc = jc * j;s = s + jc;Console.WriteLine(1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的和为0, s);39(20)编一个程序,用for循环语句求出1到100之间的奇数之和,以及偶数之和。(k)long i, j, m, s =

24、 0;for (i = 1; i = 10; i+)m = 1;for (j = 1; j = i; j+) m = m * j;s = s + m;Console.WriteLine(1!+2!+3!+.+10!= + s);40(20)编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数之和。(k)int i;double sum1 = 0, sum2 = 0, x;for (i = 1; i 0)sum1 += x;elsesum2 += x;Console.WriteLine(正数之和:0,负数之和:1, sum1, sum2);41.(20)编一个程

25、序,把一张1元的钞票换成5分,2分和1分的硬币,要求每种至少一枚,并且所换硬币数不超过30枚。请问,有哪几种换法?(k)int i, j, k;Console.WriteLine(一分: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) Console.WriteLine(0枚t1枚t2枚, i, j, k);42.(20)编一个程序,把一张面值100元的钞票换成5元,1元和5角面值的钞票,要求1

26、00元换以上的零钱100张,且要求每种不少于一张。请问,有哪几种换法?(k)int i, j, k;/设5元有i张,1元有j张,5角有k张Console.WriteLine(5元:t1元:t5角:);for (i = 1; i = 20; i+)for (j = 1; j = 100; j+)for (k = 1; k = 100; k+)if (5 * i + j + (0.5 * k) = 100 & i + j + k = 100) Console.WriteLine(0t1t2, i, j, k);43.(20)编一个程序,解决百钱买百鸡问题。某人有100元钱,要买100只鸡。公鸡5元

27、钱一只,母鸡3元钱一只,小鸡一元钱3只。问可买到公鸡,母鸡,小鸡各为多少只。问题分析:设公鸡x只,母鸡y只,小鸡z只,可以列出两个方程:x+y+z=100 5x+3y+z/3=100我们采用“穷举法”来解决此问题。(k)double z;for( double x=1;x=20;x+)for (double y = 1; y = 33; y+)z = 100 - x - y;if (5 * x + 3 * y + z / 3 = 100)Console.WriteLine(公鸡0只,母鸡1只,小鸡2只,x,y,z);44(20)编一个程序,定义数组,用for循环语句,顺序输入10个实数,然后逆

28、序输出这10个数。(k)int i;int a = new int10;for (i = 0; i = 0; i-)Console.Write(0 , ai);Console.WriteLine();45(40)编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序。(k)int i, j, temp;const int n = 10;int SortArray = new intn;for (i = 0; i n; i+)Console.Write(n请输入一个数:);SortArrayi = int.Parse(Console.ReadLine();Console.Wr

29、ite(n等待排序的数据序列为:);for (i = 0; i = 0; i-)for (j = 0; j SortArrayj + 1)temp = SortArrayj;SortArrayj = SortArrayj + 1;SortArrayj + 1 = temp;Console.Write(n已经排序后的数据序列为:);for (i = 0; i n; i+)Console.Write(0 , SortArrayi);Console.WriteLine();46(40)编一个程序,定义一个有10个元素的一维数组a,在键盘上输入时没有大小次序,但是存入数组时要按由小到大的顺序存放。例如

30、,输入第1个数1时,存入a0;假如第2个数是5,则数存入a1;假如第3个数是4,那么把前面输入的5向后面移动到a2,把4插入到a1的位置上,这样使得每输入一个数,保持从小到大的顺序排列。(k) int i, j, temp, n = 10;int a = new intn;Console.WriteLine(请输入0个整数。, n);for (i = 0; i = 1; j-)if (aj - 1 aj)temp = aj - 1;aj - 1 = aj;aj = temp;elsebreak;Console.Write(n依次输出数组中的值:);for (i = 0; i n; i+)Con

31、sole.Write(0 , ai);Console.WriteLine();47(20)编一个程序,定义一个数组,用for语句输入10个实数存入这个数组,然后按逆序重新存放后再输出。(k)double a = new double10;double temp;for (int i = 0; i 10; i+)Console.Write(请输入一个实数:);ai = double.Parse(Console.ReadLine();for (int i = 0; i 10 / 2; i+)temp = ai;ai = a9 - i;a9 - i = temp;for (int i = 0; i 10; i+) Console.Write( 0, ai);Console.WriteLine();48(20)编一个程序,从键盘输入一个字符串,用foreach循环语句,统计其中大写字母的个数和小写字母的个数。(k)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁