东北大学机械学院C语言考试题库及答案_第1页
东北大学机械学院C语言考试题库及答案_第2页
东北大学机械学院C语言考试题库及答案_第3页
东北大学机械学院C语言考试题库及答案_第4页
东北大学机械学院C语言考试题库及答案_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.东北大学机械学院C语言答案题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。 5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END。(可选用switch语句编写) 6 题目:编写程序将用户输入的字母进行大小写转换。7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数。若是则输出该数;否则输出-1。8 题目:输入一个整数,判断它是奇数还是偶数并输出。9 题目:从键盘输入二个整数a、b,将其按大到小排列。10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。11 题目:输入一个整

2、数,判断该数是否能被3,5,7整除,并输出以下信息之一: (1)能同时被3,5,7整除; (2)能被其中两数(要指出哪两个)整除; (3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除。 12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。(所谓回文素数是指正读和反读都相同的数,例如12321)。13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作。14 题目:输入一个整数,将其数值按小于10,1099,100999,1000以上分类

3、并显示(例如:输入358时,显示358 is 100 to 999)。15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。 17 题目:计算二次方程 的根。 18 题目:给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。 19 题目:从键盘输入三个整数a、b、c,输出其中最大的数。 20 题目:从键盘输入三个整数a、b、c,将其按大到小排列。 21 题目:从键盘输入一个百分制成绩,将其转换为等级A、

4、B、C、D、E后输出成绩。转换规则为:90分以上为A;8089分为B;7079分为C;6069分为D; 60分以下为E。 22 题目:某运输公司规定路程越远,每公里运费越低,对用户计算运费标准如下:1)当S250km时,没有折扣;2)当250S500时,折扣为2%;3)当500S1000时,折扣为5%;4)当10000S2000,折扣为8%;5)当2000S,折扣为10%。从键盘输入路程和货物重量,计算并输出相应的运费。 23 题目:某企业利润提成的规则如下:1)利润低于或等于10万元的,可提成奖金%10;2)利润高于10万元,低于20万元时,低于10万元的部分按%10提成,另外部分可以提成7

5、.5%;3)利润高于20万低于40万元的,其中20万元按前面的方法发放,另外的部分按5%提成;4)利润高于40万元的,40 万元按前面的方法提成,高于部分按3%提成。从键盘输入利润,输出应发的提成。 24 题目:已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年;0.330% 期限二年;月息利率 0.345% 期限三年;0.375% 期限五年;0.420% 期限八年。要求输入存钱的本金和期限,计算到期时能从银行得到的利息与本金的合计。 25 题目:利用switch语句完成两个浮点数的四则运算(数与运算符又键盘给入)。 26 题目:利用键盘输入某年某月某日,判断并输出这一天是这

6、一年的第几天。 27 题目:输入年份year和月month,计算该月有多少天(提示:需要判断是否为闰年)。 28 题目:利用公式/41-1/3+1/5-1/7+1/9- 计算的近似值,当最后一项的绝对值小于 10-6 为止。 29 题目:输出100到200之间所有的素数。 30 题目:打印出所有的“水仙花”数(提示:“水仙花” 数是指一个三位数,其各位数字的立方和等于该数本身,例如:153=13+53+33) 31 题目:从键盘上输入一个不多于四位的正整数,编写一个程序,完成下列功能:求出该数是几位数;分别打印出各位数字;按逆序打印各位数字。 32 题目:计算分数序列:2/1,3/2,5/3,

7、8/5,13/8,21/13,的前20项之和并输出。 33 题目:按每行6个输出 100至1000之间各位数字之和为5的数。 34 题目:输出1至100之间每位数的乘积大于每位数的和的数。 35 题目:找出11000之间的所有完数(提示:“完数”是指一个数恰好等于它的除自身外的所有因子之和,例如:28=1+2+4+7+14,因此28是完数),。要求按下面格式输出其因子:28itsfactorsare1,2,4,7,14。 36 题目:计算 S=1!+2!+3!+20!的值并输出。 37 题目:利用公式e=1/1!+1/2!+1/3!+1/n!计算e的值并输出(要求:误差小于10-5)。 38

8、题目:计算并输出自然数1到n的平方和。 39 题目:计算并输出1至n之间的奇数之和以及偶数之和(其中n由键盘输入)。 40 题目:计算并输出用数字09可以组成多少个没有重复的三位偶数。 41 题目:现有数列 :1/2,2/3,3/5,5/8,8/13,13/21, , 计算并输出该数列的前 100 项之和。 42 题目:假设猴子第一天摘下若干桃子,并吃了一半又加一个,第二天早上又将剩下的桃子吃掉一半又加一个,以后每天早上都吃了前一天剩下的一半又加一个。到第 10 天早上时,只剩下一个桃子。计算并输出猴子第一天共摘多少桃子。 43 题目: 一个球从 100m 高度自由落下,每次落地后反跳回原来高

9、度的一半,再落下。计算并输出它在第 10 次落地时共经过了多少 米? 第 10 次反弹高度是多少?44 题目:利用牛顿迭代法求解方程 在 1.5 附近的根并输出。 45 题目:利用二分法求解方程 在(-10,10)之间的根并输出。 46 题目:两个乒乓球队进行比赛 , 各队出三人 , 每人与对方队的一人进行一场比赛 , 甲队出 A 、 B 、 C 三人 , 乙队出 X 、 Y 、 Z 三人。编程找出所有可能的对阵情况。抽签之后,有人向队员打听对阵情况 ,A说他不和X比 ,C说他不和X、Z 比,编程找出三对手名单。 47 题目:输入两个正整数分别赋值给m和n,求其最大公约数和最小公倍数。 48

10、题目:计算并输出公元1000元至2000年中所有闰年的年号。每输出3个年号换一行。 49 题目:从键盘输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 50 题目: 计算并输出Sn=a+aa+aaa+aaaaa(有n个a)的结果值(其中a是一个数字。例如:3+33+333+3333(n=4),n由键盘输入)。 51 题目:计算机的打印图形的一个应用:读取7个在150之间的整数值,对每读取的一个值,程序打印出该值个数的连续的*星号(例如:如果程序读取数据为5,则打印*)。 52 题目:利用迭代法计算x=(计算平方根的迭代公式为:Xn+1=(Xn+1/Xn)/2),要求前后两次求

11、出的差的绝对值少于0.00001。 53 题目:计算并输出sinx的近似值。 54 题目:计算并输出由2、4、6、8个数字,能组成多少个互不相同且无重复数字的三位数,并输出这些三位数。 55 题目:统计从键盘输入数据的个数(输入0为止),并从其中找出最小值和最大值,输出数据的个数以及最大值和最小值。 56 题目:(百鸡问题)100元钱买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只求100元钱能买公鸡、母鸡、小鸡各多少只? 57 题目:从键盘输入的字符中统计数字字符的个数,用换行符结束循环。58 题目:从键盘输入的字符中统计小写字符的个数,用换行符结束循环。 59 题目:从键盘输入

12、6名学生的5门成绩,分别统计出每个学生的平均成绩并输出。 60 题目:出满足不等式1+1/2+1/3+1/4+1/N15最小的N值并输出。 61 题目:从键盘输入n值,输出如下所示的图形。 * * * * * * * * *62 题目:计算下列算式的值: 直到某一项的值小于0.000001时为止。输出最后的值。 63 题目:计算并输出下面算式的结果值:64 题目:编写程序,读入一个整数;若为非负数,则计算并输出到2之间的整数和;若为一个负数,则计算并输出到之间的整数和65 题目: 一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为。又知这个自然数被17除余

13、4,所得的商被17除余15,最后得到一个商是的2倍。编写程序求这个自然数。 66 题目:验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和。 67 题目:利用1、2、3、4个数字,可以组成多少个互不相同且无重复数字的三位数?都是多少?输出计算结果。 68 题目:如果一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数,输出该数是多少(提示在100000内判断,可利用开平方函数)。 69 题目:输出9*9口诀。 70 题目:将一个正整数分解质因数(例如输入90,打印出90=2*3*3*5)。 71 题目:输入一个星期中的英文字母以此判断是星期几,如果第一

14、个字母一样,则继续判断第二个字母。 72 题目:计算并输出555555的约数中最大的三位数。73 题目:从键盘输入任意的字符,按下列规则进行分类计数。 第一类 0,1,2,3,4,5,6,7,8,9; 第二类 +,-,*,/,%,=; 第三类 其它字符; 当输入字符时先计数,然后停止接收输入,输出计数的结果。 74 题目:对从键盘上输入的行、单词和字符进行计数,当输入CTRL+D时表示文件输入结束,停止计数(提示:单词的定义进为单词是不包含空格、制表符(t)及换行符的字符序列。例如:a+b+c,认为是个单词,它由个字符组成。又如:xy abc,为个单词,个字符。一般用CTRL+D作为文件结束标

15、记,其字符码值为-1)。 75 题目:编写程序计算当x=0.5时下述级数和的近似值,使其误差小于某一指定的值epsilon(例如:epsilon=0.000001):76 题目:计算并输出下列多项式的结果值。 要求最后一项小于0.001时、或者当N=20时尚未达到精度要求,则停止计算。 77 题目:已知求正弦sin(x)的近似值的多项式公式为:从键盘输入x和,计算sin(x)的近似值,要求计算的误差小于给定的。 78 题目: 利用循环语句实现输入一个正整数,要求以相反的顺序输出该数(例如输入12345,输出位54321)。79 题目:求解爱因斯坦数学题)有一条长阶梯,若每步跨2阶,则最后剩余1

16、阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。计算并输出这条阶梯共有多少阶。80 题目:采用割圆法求出的值,要求精确到小数点之后的第十位(提示:中国古代科学家祖冲之采用正多边形逼近的割圆法求出了的值。即做圆的内接4边形,从圆心和4边形顶点连接形成4个三角形,可以求出每个三角形的面积(r2/2)现在我们知道三角形的面积和两个边长(均为半径a=r、b=r),可以用公式:S=s(s-a)(s-b)(s-c)求出第三边c。我们将内接4边形换为内接8边形,原来的三角形被一分为二,故c/2就是每个三角形的高,面积又是可以求出的。再将

17、三角形一分为二,。当三角形的面积求出时,内接多边形的面积就可求出)。81 题目:A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。计算并输出他们合伙至少捕了多少条鱼。 82 题目:一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,丙说:四位的车号刚好是一个整数的

18、平方。根据以上线索分析并求解出车号。 83 题目:若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,请求解并输出共有多少种不同的颜色搭配。 84 题目:假设100匹马驮100担货,大马一匹驮担,中马一匹驮担,小马两匹驮担。请计算并输出大、中、小马的数目。 85 题目:输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法。 86 题目:输出200以内的完全平方数和它们的个数(提示:完全平方数是指满足体检A2+B2=C2的A、B、C) 87 题目:设N是一个四位数,它的9倍恰好是其反序数(例如123的反序数是321),计算并输出N的值。 88 题目:求解下式中各

19、字母所代表的数字。 89 题目:一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,计算这个三位数。90 题目:如果整数的全部因子(包括,不包括本身)之和等于;且整数的全部因子(包括,不包括本身)之和等于,则将整数和称为亲密数。计算3000以内的全部亲密数91 题目:(猜数游戏)由计算机想一个数请人猜,如果人猜对了,则结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。计算机记录人猜的次数,以此可以反映出猜数者猜的水平。92 题目:计算1000!后有多少个零。93 题目:古典问题:有一对兔子,从出生后第3个月起

20、每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1 题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。 #include#includemain() float x,y;printf(“enter x:n”);scanf(“%f”,&x);if(x=0)y=0;else if(x=10)y=x;else y=0.5+sin(x);printf(“x=%f,y=%fn”,x,y);2题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END。(可选用switch语句编写)#include mai

21、n() int x;printf(“enter x:n”);scanf(“%d”,&x);if(x=65)printf(“x=%d, show %cn”,x,x);else if(x=66)printf(“x=%d, show %cn”,x,x);else if(x=67)printf(“x=%d, show %cn”,x,x);else printf(“x=%d, show ENDn”,x);3题目:编写程序将用户输入的字母进行大小写转换#include main() char x,y ; printf(enter x:n); scanf(%c,&x); if(x=a & x=A & x=Z

22、) y=x+32; printf(x=%c, y=%cn,x,y); 4题目:输入一个整数,判断它是奇数还是偶数并输出。#include main() int x; printf(n请输入一个整数:); scanf(%d,&x);if(x%2=0) printf(%d是偶数.,x); else printf(%d是奇数.,x); 5题目:从键盘输入二个整数a、b,将其按大到小排列。#include main() int a,b,temp; printf(请输入两个整数:n); scanf(%d,%d,&a,&b); if(ab) temp=a; a=b; b=temp ; printf(%d,

23、%d,%dn, a,b); 6题目:从键盘输入三个整数a、b、c,将其按大到小排列。#include main() int a,b,c,temp; scanf(%d,%d,%d,&a,&b,&c); if(ab) temp=a; a=b; b=temp ; if(ac) temp=a; a=c; c=temp ; if(bb)if(ac)max =a;elseif(bc) max =b;else max =c;printf(%dn, max);8题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。#includemain( ) int x, a

24、,b,c; printf(enter a number(1000):n); scanf(%d,&x); a=x/100; b=x%100/10; c=x%10; if (b=1)if (c=3|c=7) printf(the number is %d n,x); printf(endn); 9题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一: (1)能同时被3,5,7整除; (2)能被其中两数(要指出哪两个)整除; (3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除。#includemain()int a,b;a=0;printf(“Enter nu

25、mber:”);scanf(“%d”,&b);if(b%3=0) a+;if(b%5=0) a+;if(b%7=0) a+;if(a=0) printf(“n The number which can be divided exactly by nonen”);if(a=1) printf(“n The number which can be divided exactly by onen”);if(a=2) printf(“n The number which can be divided exactly by twon”);if(a=3) printf(“n The number whic

26、h can be divided exactly by alln”);getchar();10题目:输入一个5位的正整数,判定该正整数是否为一个回文数。(所谓回文素数是指正读和反读都相同的数,例如12321)。main( ) long g,s,q,w,x;scanf(%ld,&x); w=x/10000;q=x%10000/1000;s=x%100/10;g=x%10;if (g=w&s=q) /*个位等于万位并且十位等于千位*/printf(%d is a huiwen n,x);elseprintf(%d is not a huiwenn);11题目:假设变量a、b、c为整数,从键盘读入a

27、、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作。#includemain()int a,b,c,result;printf(“enter x:n”);scanf(“%d%d%d”,&a,&b,&c);switch(a)case 1:result=b+c;Break;case 2: result=b-c;Break;case 3: result=b*c;Break;case 4: result=b/c;Break;default:Break;printf(“a=%d,result=%dn”a,result);?

28、 12题目:输入一个整数,将其数值按小于10,1099,100999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。#includemain()int n ;scanf(“%d”,&n);if(n0)printf(“%d is =10&n=100&n=1000)printf(“%d is =1000n”,n);13题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。#includemath.hmain()int flag=0; float a,b,c,s; printf(Please enter a b c:); scan

29、f(%f%f%f,&a,&b,&c); if(ab+c&ba+c&ca+b)s=(a+b+c)/2; s=sqrt(s-a)*(s-b)*(s-c);printf(area=%fn,s); elseprintf(not n); 14从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。#include math.hmain()int flag=0; float a,b,c,s; printf(Please enter a b c:); scanf(%f%f%f,&a,&b,&c); if(ab+c&ba+c&ca+b)if(a=b&b=c)pr

30、intf(“eqal triangle ”);else if(a=b|b=c|a=c)printf(“eqal triangle”);else printf(“triangle”); elseprintf(not n); 15题目:计算二次方程 的根。#include main() float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf (“%f,%f,%f”,&a,&b,&c); printf(“The equation”); ?if (fabs(a)=le-6) printf(“is not a quadratic”); else disc=b*

31、b-4*a*c; if (fabs(disc)le-6 )x1=(-b+sqrt(disc)/2*a; x2=(-b-sqrt(disc)/2*a; printf(“has distinct real roots: % 8.4f and % 8.4f n”,x1,x2); elserealpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(“has complex roots:n”);printf(“% 8.4f +%8.4fin”,realpart,imagpart);printf(“% 8.4f -%8.4fin”,realpart,imagpa

32、rt); 16题目:给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。main( )long a,b,c,d,e,x;scanf(%ld,&x);a=x/10000;/*分解出万位*/b=x%10000/1000;/*分解出千位*/c=x%1000/100;/*分解出百位*/d=x%100/10;/*分解出十位*/e=x%10;/*分解出个位*/if (a!=0) printf(there are 5, %ld %ld %ld %ld %ldn,e,d,c,b,a);else if (b!=0) printf(there are 4, %ld %ld

33、 %ld %ldn,e,d,c,b);else if (c!=0) printf( there are 3,%ld %ld %ldn,e,d,c);else if (d!=0)printf(there are 2, %ld %ldn,e,d);else if (e!=0)printf( there are 1,%ldn,e);17题目:从键盘输入一个百分制成绩,将其转换为等级A、B、C、D、E后输出成绩。转换规则为:90分以上为A;8089分为B;7079分为C;6069分为D; 60分以下为E。main()int number,md;char c1;scanf(%d,&number);md=

34、number/10;switch(md)case 10: case 9: c1=A;break;case 8: c1=B;break;case 7: c1=C;break;case 6: c1=D;break;case 5:case 4:case 3:case 2:case 1:case 0: c1=E;break;printf(%cn,c1);18题目:某运输公司规定路程越远,每公里运费越低,对用户计算运费标准如下:1)当S250km时,没有折扣;2)当250S500时,折扣为2%;3)当500S1000时,折扣为5%;4)当10000S2000,折扣为8%;5)当2000S,折扣为10%。

35、从键盘输入路程和货物重量,计算并输出相应的运费。main() int c,s; float p,w,d,f; scanf(“%f,%f,%d”,&p,&w,&s); if (s=2000) c=10; else c=s/250; switch(c) case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: d=10;break; f=p*w*s*(1-d/100.0); printf(“freight=% 15.4f ”,f);

36、19题目:某企业利润提成的规则如下:1)利润低于或等于10万元的,可提成奖金%10;2)利润高于10万元,低于20万元时,低于10万元的部分按%10提成,另外部分可以提成7.5%;3)利润高于20万低于40万元的,其中20万元按前面的方法发放,另外的部分按5%提成;4)利润高于40万元的,40 万元按前面的方法提成,高于部分按3%提成。从键盘输入利润,输出应发的提成。解法一:#include “stdio.h”main()int pf; float? pr;printf(“n请输入利润总数(单位:万元):”);scanf(“%d”,&pf);if(pf=10)pr=pf*0.10;else i

37、f(pf20)pr=10*0.10+(pf-10)*0.075;else if(pf40)pr=10*0.10+10*0.075+(pf-20)*0.05;elsepr=10*0.10+10*0.075+20*0.05+(pf-40)*0.03;printf(“n应发的奖金是:%f万元.”,pr);解法二/*用switch语句*/#include “stdio.h”main()int pf; float? pr;printf(“n请输入利润总数(单位:万元):”);scanf(“%d”,&pf);switch(pf/10)case 0: pr=pf*0.10; break;case1: pr=

38、10*0.10+(pf-10)*0.075; break;case2:case3: pr=10*0.10+10*0.075+(pf-20)*0.05; break;default: pr=10*0.10+10*0.075+20*0.05+(pf-40)*0.03;printf(“n应发的奖金是:%f万元.”,pr);20题目:已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年;0.330% 期限二年;月息利率 0.345% 期限三年;0.375% 期限五年;0.420% 期限八年。要求输入存钱的本金和期限,计算到期时能从银行得到的利息与本金的合计。 #include main

39、( )int year; float money,rate,total; /* money:本金 rate:月利率 total:本利合计*/printf(Input money and year =?); scanf(%f%d, &money, &year); /* 输入本金和存款年限 */if(year=1) rate=0.00315; /* 根据年限确定利率 */else if(year=2) rate=0.00330; else if(year=3) rate=0.00345; else if(year=5) rate=0.00375; else if(year=8) rate=0.00

40、420; else rate=0.0; total=money + money * rate * 12 * year; /* 计算到期的本利合计 */printf( Total = %.2fn, total); 21题目:利用switch语句完成两个浮点数的四则运算(数与运算符又键盘给入)。#includemain()float a,b;char c;printf(“n please input num:n”);scanf(“%f%f”,&a&b);printf(“please input + - * /:”);scanf(“n%c”,&c);switch(c)case +:printf(“%

41、.0f+%.0f=%.2f”,a,b,a+b);break;case -:printf(“%.0f-%.0f=%.2f”,a,b,a-b);break;case *:printf(“%.0f*%.0f=%.2f”,a,b, a*b);break;case /:if(b!=0)printf(“%.0f/%.0f=%.2f”,a,b,a/b);break;default:printf(“n?n”);getchar();22题目:利用键盘输入某年某月某日,判断并输出这一天是这一年的第几天。#include math.h#include main( ) int day,month,year,sum,l

42、eap; printf(nplease input year,month,dayn);scanf(%d,%d,%d,&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break;

43、 case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(data error);break;sum=sum+day; /*再加上某天的天数*/if(year%400=0|(year%4=0&year%100!=0)leap=1; /*闰年*/elseleap=0;if(leap=1&month2)sum+;/*如果是闰年且月份大于2,总天数应该加一天*/printf(It is the %dth day.,sum);23题目:输入年份year和月month,计算该月有多少天(提示:

44、需要判断是否为闰年)。#include main( )int year, month, days; printf(Enter year and month:); scanf(%d%d, &year, &month); switch (month) case 1: case 3: case 5:case 7: case 8: case 10: case 12: days=31; break; /* 处理大月 */case 4: case 6: case 9: case 11: days=30; break; /* 处理小月 */case 2: if(year%4=0&year%100!=0 |

45、year%400=0)days=29; /* 处理闰年平月 */elsedays=28; /* 处理不是闰年平月 */break; default: printf(Input error!n); /* 月份错误 */days=0; if( days!=0 )printf(%d, %d is %d daysn, year, month, days); 24题目:利用公式/41-1/3+1/5-1/7+1/9- 计算的近似值,当最后一项的绝对值小于 10-6 为止。#include void main(void) float pi=1,i=-1,j=3; while(1/j)=1e-6) pi+=

46、1/j*i; i=-i; j=j+2; pi=pi+1/j*i; pi*=4; printf(%fn,pi); 25题目:输出100到200之间所有的素数#include void main(void) int m,i,k,h=0,leap=1; printf(n); for(m=101;m=200;m+)k=sqrt(m+1); for(i=2;i=k;i+) if(m%i=0)leap=0;break;if(leap)printf(%-4d,m);h+;if(h%10=0) printf(n);leap=1;printf(nThe total is %d,h);26题目:打印出所有的“水仙

47、花”数(提示:“水仙花” 数是指一个三位数,其各位数字的立方和等于该数本身,例如:153=13+53+33)#include void main(void) int i,j,k,n; printf( 水仙花数是: ); for(n=100;n9999)printf(“Its error data!”);else if(num999)bit=4;else if(num99)bit=3;else if(num9)bit=2;else bit=1;printf(“bit=%dn”,bit);printf(“every bit number is:”);thousand=num/1000;printf

48、(“%3d”,thousand);hundred=(num-thousand*1000)/100;printf(“%3d”,hundred);ten=(num-thousand*1000-hundred*100)/10;printf(“%3d”,ten);indiv=num-thousand*1000-hundred*100-ten*10;printf(“%3d”,indiv);printf(“n”);while(num!=0)d=num%10;printf(“%d”,d);num=num/10;getchar();28题目:计算分数序列:2/1,3/2,5/3,8/5,13/8,21/13,

49、的前20项之和并输出#include void main(void) int i=1,n;double t,x=1,y=2,s,sum=0;scanf(%ld,&n);while(i=n) s=y/x;sum=sum+s;t=y;y=y+x;x=t;i+;printf(%fn,sum);。29题目:按每行6个输出 100至1000之间各位数字之和为5的数#include void main(void) int n,a,b,c:For(n=100;n1000;n+)a=n/100;b=n/10%10;c=n%10;if( 5=a+b+c)printf(“%3d”,n);m+;if(m=6)printf(n“);30题目:输出1至100之间每位数的乘积大于每位数的和的数#include void main(void) int n,a,b,c:for(n=1;n=a+b)printf(“%3d”,n);31题目:找出11000之间的所有完数(提示:“完数”是指一个数恰好等于它的除自身外的所有因子之和,例如:28=1+2+4+7+14,因此28是完数),。要求按下面格式输出其因子:28itsfactorsare1,2,4,7,14。#include “s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论