




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三次作业:程序控制语句(顺叙、选择、循环)注:建议同学们在深入理解顺序、选择、循环三种控制语句的基础上再做本次作业,过程 可能会更顺利,效果可能会更好一些。1.三角形的面积和周长对于一个三角形,设它的三条边分别为a、b、c,三角形的周长、面积计算公式分别为:Perimeter= a+b+caere*area = s(s-a)(s-b)(s-c),其中:s = (a+b+c)/2要求编程实现以下功能:输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter(保留 2 位
2、小数);否则,输出" These sides do not correspond to a valid triangle ”。程序代码:#in clude<stdio.h>#in clude<math.h>void mai n()int a,b,c,s,repeat,p,t,q,u,i;float perimeter,area;i=1;scan f("%d",&repeat);doscan f("%d,%d,%d",&a,&b,& c);t=(a>b)?a:b;p=(a<b)?
3、a:b;q=(t>c)?t:c;u=(t<c)?t:c;perimeter=a+b+c;s=(a+b+c)/2; area=sqrt(s*(s_a)*(s_b)*(s_c);if(p+u> q&&q _p<u)prin tf("%.2f,%.2fn",perimeter,area);elseprin tf("These sides do not corresp ond to a valid tria nglen");i=i+1;while(i<=repeat);2.竖式打印键盘输入两个两位正整数a, b (
4、11 < = a,b < = 99,且a和b都不包含数字O'在屏幕上输出a与b相乘的竖式。注意尽量按照样例的格式进行输出。样例:输入输出25 1225* 125025300程序代码:#in clude<stdio.h>#in clude<math.h>void mai n()int a,b,m, n,k;scanf("%d %d",&a,&b); m=(b%10)*a;n=floor(b/10)*a; k=a*b;prin tf("%6dn",a);prin tf("*");
5、prin tf("%5dn",b);printf(”n");prin tf("%6dn%5dn",m, n); printf("n");prin tf("%6dn",k);3. 铅笔工厂在铅笔工厂里,一支铅笔要经过下列工序:首先在一台机器中喷上彩漆,随后在另一台机器中喷上清漆。遗憾的是这两台机器都有一些毛病。上彩漆的机器在每处理 n支铅笔后就“罢工” 一次(也就是下一支铅笔将不被喷上彩漆),而上清漆机器在处理 m支铅笔后“罢工” 一次。于是这所工厂出产四种铅笔,一种是成品铅笔,一种是只上过彩漆的铅笔,一种
6、 是只上过清漆的铅笔,最后一种是没有上过任何漆的铅笔。请编写程序,对给定的 n, m和k (被处理的铅笔总数),计算四种铅笔的数量。 例如,n=3, m=5以及k=17,那么铅笔的处理情况如下图:1234567891011121314151617彩漆VVVXVVVXVVVXVVVXV清漆VVVVVXVVVVVXVVVVV17支铅笔中,有12支是成品。而第12支是什么漆也没上的;第 6支只上了彩漆,还 有3支只上了清漆。输入:仅一行,三个整数 n, m 和 k。0 < n < 106, 0 < m < 106, 0 < k < 10 9°输出:在一行
7、中依次输出下列 4个数:a)铅笔成品数。b)没被上漆的铅笔数。c)上过彩漆而没上清漆的铅笔数。d)上过清漆而没上彩漆的铅笔数。样例1输入输出351712113样例2输入输出9999999999999999999999999990009990 0程序代码:#in clude<stdio.h>#in clude<math.h> void mai n()int m, n,k,a,b,c,d,p,q,i;scan f("%d,%d,%d",&n,&m,&k); i=n-1;doi=i+1;p=i%( n+1);q=i%(m+1);wh
8、ile(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);prin tf("%d %d %d %dn",a,b,c,d);X=F:twsDebiigtws.eire'1Press any kaij to continue_4. 计算工资某工厂规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时加班费为4元;但是单位同时又规定,一个工人每月加班时间平均计算下来最多不能超 过6个小时/天,多出的加班时间不给加班费。(本题暂规定即使是周末、节假日加班
9、也不 能超过6小时;2月份假设全按照28天计算)。请编程完成如下的功能。输入一个正整数 repeat (0<repeat<10),做repeat次下列运算:由键盘输入月份数,某个工人的当月工作总时间,计算并打印此工人该月的工资。程序代码:#in clude<stdio.h>void mai n()int time,worktime=160,overtime,m on th,days,pay,repeat,i=1;scan f("%d", &repeat);doscan f("%d,%d", &mo nth, &am
10、p;time);overtime=time-worktime;if(mon th=1|m on th=3|m on th=5|m on th=7|m on th=8|m on th=10|m on th=12)days=31else if(mon th=4|m on th=6|m on th=9|m on th=11)days=30;else if(mon th=2)days=28;if(overtime<=6*days)pay=worktime*5+overtime*4;elsepay=worktime*5+6*days*4;prin tf("%dn",pay);i
11、=i+1;while(i<=repeat);错误原因没有考虑到工作时间小于160小时的情况5. 个人所得税按照国家关于中华人民共和国个人所得税法实施条例的规定,我国公民个人所得税税率(工资、薪金所得适用)如下表:个人所得税税率表一(工资、薪金所得适用)级数全月应纳税所得额税率()1不超过1500元的32超过1500元至4500元的部分103超过4500元至9000元的部分204超过9000兀至35000兀的部分255超过35000元至55000元的部分306超过55000元至80000元的部分357超过80000元的部分45(注:本表所称全月应纳税所得额 是指以每月收入额减除费用三千五百
12、元后的余额,即通常所说的个税起征点。)要求编写以下的程序:输入一个正整数 repeat (0<repeat<10),做repeat次下列运算:输入一个职工的月薪salary,输出应交的个人所得税tax(保留2位小数)。程序代码:#in clude<stdio.h>void mai n()int salary,a,repeat,i;float tax;i=1;scan f("%d", &repeat);doscan f("%d", &salary);a=salary-3500;if(a<=0)tax=0;els
13、e if(0<a&&a<=1500)tax=a*0.03;else if(1500<a&&a<=4500)tax=(a-1500)*0.1+1500*0.03;else if(4500<a&&a<=9000)tax=(a-4500)*0.2+3000*0.1+1500*0.03;else if(9000<a&&a<=35000)tax=(a-9000)*0.25+4500*0.2+3000*0.1 + 1500*0.03;else if(35000<a&&a&l
14、t;=55000)tax=(a-35000)*0.3+26000*0.25+4500*0.2+3000*0.1 + 1500*0.03;else if(55000<a&&a<=80000)tax=(a-55000)*0.35+20000*0.3+26000*0.25+4500*0.2+3000*0.1+1500*0.03; else if(80000<a)tax=(a-80000)*0.45+25000*0.35+20000*0.3+26000*0.25+4500*0.2+3000*0.1+1500*0.03;prin tf("%.2fn"
15、 ,tax);i=i+1;while(i<=repeat);6. 极限求值编程计算:1/1!-1/3!+1/5!-1/7!+1/(2n-1)!的值,直到计算到超出数有效表示 范围为止。请输出上述表达式的值,以及这时n的值。#i nclude<stdio.h> void mai n()int b=1,m=1, n;float a=1,t;dom=m+1;b*=m;m=m+1;b*=m;t=-1./b;a=a+t;prin tf("b=%d,m=%d,a=%dn",b,m,a); while(b<=2147483647&&b>0);
16、 n=(m+1)/2;prin tf("a=%f, n=%dn",a, n);错误原因一直减没有加b=6,n=3,a=-m7G395GG8b-12Qhn-5ha-l535l152SM13-50M0hii-7hB-11T427H94Sb=399168een=11,a-192133M329 b= 1932353534 rti=13Pa=21 H2821666 b= 2904319016-15,0=21 42989733 b-2835222HQ,m=1Tna=211S2S52BQ a-9.824799hn=9Press any k&ij to continue7. 数列求
17、和N为自然数,a为19之间的数字,编程计算a+aa+aaa+ +aaa(n个a) 的值,要求n和a由用户从键盘输入。并请输出上述表达式的结果值。程序代码:#i nclude<stdio.h>#in clude<math.h>void mai n()int i=1,a,b, n,t;sea nf("%d,%d",&n,& a); t=b=a;while(i< n)b=b+a*pow(10,i); t=t+b;i=i+1;prin tf("the result is %dn",t);&素数求和输入2个正整
18、数m和n(1<=m,*=500),统计并输出m和n之间的素数的个数以及这些 素数的和(素数就是只能被 1和自身整除的正整数,1不是素数,2是素数)。程序代码:#i nclude<stdio.h>#in clude<math.h>void mai n()int m,n ,i,k,t=O,s=O;sca n("%d,%d",&m,&n); dok=sqrt(m);for(i=2;i<=k;i+) if(m%i=O)break; if(i>k)t=t+1; s=s+m;else m=m+1;while(m<=n);p
19、rin tf(" nu mber=%d,sum=%dn",t,s);错误原因:1不是素数,当m=1时应该都减去1:''FAtwsDebiigtws.exe"-ln|X7,53runber-12,sum-318Press any key to continue9. 数字金字塔数字金字塔是由1到N的数字构成的一个类似金字塔形状的数阵。其中,第一层由1个数字1构成,第二层由2个数字2构成,第三层由3个数字3构成(每层均比上一层多 1 个数字,且每一层的数字之间都有一个空格格开)例如,当N=4时,一个4层的数字金字塔如下: 口 1 口 2口 2 3口 3口
20、 3为了方便描述,上图中的“”表示空格。请你编写程序,对于给定的 N,输出相应的数字金字塔。输入:数据从键盘输入。输入只有一行一个整数N (1 < N < 10 )。输出:输出到屏幕。有 N行,为一个对应的数字金字塔。样例输入3样例输出程序代码:#in clude<stdio.h> void mai n()intn ,i,p,q;scan f("%d",&n);for(i=1;i<=n ;i+)for(p=1;p<=n _i;p+) printf(” ");for(q=1;q<=i;q+) prin tf(&quo
21、t;%d ",i);prin tf("n ”);v F:twsDebngtws.ejreH7 7 7 7 7 7 7Press anij k&ij ta cantir)j,10. 谷场里的老鼠与猫有4座圆柱形谷仓,谷仓底面圆心位置分别为(5, 0),( -5, 0),( 0, -5),( 0,5),谷仓底面直径为 5米,谷仓高度为10米。见下图今有一只猫和一只老鼠, 如果猫只会沿谷仓壁垂直爬上爬下,在地面上左右平移或者前后平移爬行(注意: 本题中假设猫不会走斜线,谷仓下面可以通行)。编程实现以下的功能:输入老鼠与猫的坐标位置;输出猫爬行到老鼠位置的最短路径距离。程序
22、代码:#in elude <stdio.h> void mai n()float a1,a2,b1,b2,c1,c2,s;float f(float x,float y);prin tf("Please in put the locati on of the mouse:"); scan f("%f,%f,%f",&a1, &b1,&c1);prin tf("Please in put the locati on of the cat:"); scan f("%f,%f,%f",
23、&a2, &b2,&c2);if(a1=a2 &&b1=b2) s=f(c1,c2);elseS=f(a1,a2)+f(b1,b2)+c1+c2;prin tf("The shortest dista nee is %f.",s);float f(float x,float y)float z;if(x>y)z=x-y;elsez=y-x; return(z);Please input the lacatisn of tha House:5,2,4Please input tha lacatian of the eat:Th3&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 完善客户投诉处理机制计划
- 秋季语言学习推广计划
- 跨文化管理的挑战与机遇计划
- 逻辑思维与推理训练活动安排计划
- 财务资金决策计划
- 班级尊重与包容氛围的构建计划
- 品牌沟通的有效策略计划
- 积极心理与职业幸福感提升计划
- 行政管理自考的竞争策略试题及答案
- 乙方监控合同标准文本
- 简易施工方案模板范本
- 注册建造师考前培训项目管理丁士昭
- 高中综合实践活动-调查问卷的设计教学设计学情分析教材分析课后反思
- 2023年04月中国海洋大学辅导员公开招聘25人(山东)笔试高频考点题库附答案解析
- 旅游规划与开发课程
- 户籍所在地(行政区划表)
- 隧道地表注浆施工技术交底
- DB63T 2106-2023 流量测验 雷达波测流系统流量系数率定规程
- GB/T 8905-2012六氟化硫电气设备中气体管理和检测导则
- GA/T 1073-2013生物样品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、异丙醇和正丁醇的顶空-气相色谱检验方法
- FZ/T 62033-2016超细纤维毛巾
评论
0/150
提交评论