c语言第三次作业(循环),c语言第三次作业.doc

41528d3028836879cd698677c3999917.gifc语言第三次作业.doc

第三次作业:程序控制语句(顺叙、选择、循环)注:建议同学们在深入理解顺序、选择、循环三种控制语句的基础上再做本次作业,过程可能会更顺利,效果可能会更好一些。1.三角形的面积和周长对于一个三角形,设它的三条边分别为a、b、c,三角形的周长、面积计算公式分别为:Perimeter=a+b+caere*area=s(s-a)(s-b)(s-c),其中:s=(a+b+c)/2要求编程实现以下功能:输入一个正整数repeat(0#includevoidmain(){inta,b,c,s,repeat,p,t,q,u,i;floatperimeter,area;i=1;scanf(“%d“,do{scanf(“%d,%d,%d“,t=(a>b)?a:b;p=(ac)?t:c;u=(tqscanf(“%d%d“,m=(b%10)*a;n=floor(b/10)*a;k=a*b;printf(“%6d\n“,a);printf(“*“);printf(“%5d\n“,b);printf(“------\n“);printf(“%6d\n%5d\n“,m,n);printf(“------\n“);printf(“%6d\n“,k);}3.铅笔工厂在铅笔工厂里,一支铅笔要经过下列工序:首先在一台机器中喷上彩漆,随后在另一台机器中喷上清漆。遗憾的是这两台机器都有一些毛病。上彩漆的机器在每处理n支铅笔后就“罢工”一次(也就是下一支铅笔将不被喷上彩漆),而上清漆机器在处理m支铅笔后“罢工”一次。于是这所工厂出产四种铅笔,一种是成品铅笔,一种是只上过彩漆的铅笔,一种是只上过清漆的铅笔,最后一种是没有上过任何漆的铅笔。请编写程序,对给定的n,m和k(被处理的铅笔总数),计算四种铅笔的数量。例如,n=3,m=5以及k=17,那么铅笔的处理情况如下图:1234567891011121314151617彩漆√√√×√√√×√√√×√√√×√清漆√√√√√×√√√√√×√√√√√17支铅笔中,有12支是成品。而第12支是什么漆也没上的;第6支只上了彩漆,还有3支只上了清漆。输入:仅一行,三个整数n,m和k。0#includevoidmain(){intm,n,k,a,b,c,d,p,q,i;scanf(“%d,%d,%d“,i=n-1;do{i=i+1;p=i%(n+1);q=i%(m+1);}while(p!=0||q!=0);b=floor(k/i);c=floor(k/(m+1))-b;d=floor(k/(n+1))-b;a=k-(b+c+d);printf(“%d%d%d%d\n“,a,b,c,d);}输入输出999999999999999999999999999000999004.计算工资某工厂规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时加班费为4元;但是单位同时又规定,一个工人每月加班时间平均计算下来最多不能超过6个小时/天,多出的加班时间不给加班费。(本题暂规定即使是周末、节假日加班也不能超过6小时;2月份假设全按照28天计算)。请编程完成如下的功能。输入一个正整数repeat(0voidmain(){inttime,worktime=160,overtime,month,days,pay,repeat,i=1;scanf(“%d“,do{scanf(“%d,%d“,overtime=time-worktime;if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)days=31;elseif(month==4||month==6||month==9||month==11)days=30;elseif(month==2)days=28;{if(overtimevoidmain(){intsalary,a,repeat,i;floattax;i=1;scanf(“%d“,do{scanf(“%d“,a=salary-3500;if(avoidmain(){intb=1,m=1,n;floata=1,t;do{m=m+1;b*=m;m=m+1;b*=m;t=-1./b;a=a+t;printf(“b=%d,m=%d,a=%d\n“,b,m,a);}while(b0);n=(m+1)/2;printf(“a=%f,n=%d\n“,a,n);}错误原因一直减没有加7.数列求和N为自然数,a为1~9之间的数字,编程计算a+aa+aaa+……+aa…a(n个a)的值,要求n和a由用户从键盘输入。并请输出上述表达式的结果值。程序代码:#include#includevoidmain(){inti=1,a,b,n,t;scanf(“%d,%d“,t=b=a;while(i#includevoidmain(){intm,n,i,k,t=0,s=0;scanf(“%d,%d“,do{k=sqrt(m);for(i=2;ik){t=t+1;s=s+m;}else;m=m+1;}while(mvoidmain(){intn,i,p,q;scanf(“%d“,for(i=1;ivoidmain(){floata1,a2,b1,b2,c1,c2,s;floatf(floatx,floaty);printf(“Pleasethelocationofthemouse:“);scanf(“%f,%f,%f“,printf(“Pleasethelocationofthecat:“);scanf(“%f,%f,%f“,if(a1==a2elses=f(a1,a2)+f(b1,b2)+c1+c2;printf(“Theshortestdistanceis%f.“,s);}floatf(floatx,floaty){floatz;if(x>y)z=x-y;elsez=y-x;return(z);}11.方程求根按照下述要求,分别用两种方法求方程式为:的根。0634223x用牛顿迭代法求方程在1.5附近的根;用二分法求方程在(-10,10)之间的根。(1)程序代码:#include#includefloatf(floatx){return2*x*x*x-4*x*x+3*x-6;}floatfd(floatx){return6*x*x-8*x+3;}voidmain(){floatx0=1.5,x=1.5;do{x0=x;x=x0-f(x0)/fd(x0);}while(fabs(x-x0)>1e-5);printf(“theasymtomaticrootis%f“,x0);}(2)程序代码:#include#includefloatf(floatx){returnx*(2*x*(x-2)+3)-6;}voidmain(){floata=-10,b=10,m,n;while(fabs(a-b)>1e-4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值