海大 曲少珍老师C程作业第四章选择结构作业与答案.doc

上传人:啊飒飒 文档编号:10809961 上传时间:2021-06-05 格式:DOC 页数:6 大小:69.60KB
返回 下载 相关 举报
海大 曲少珍老师C程作业第四章选择结构作业与答案.doc_第1页
第1页 / 共6页
海大 曲少珍老师C程作业第四章选择结构作业与答案.doc_第2页
第2页 / 共6页
海大 曲少珍老师C程作业第四章选择结构作业与答案.doc_第3页
第3页 / 共6页
海大 曲少珍老师C程作业第四章选择结构作业与答案.doc_第4页
第4页 / 共6页
海大 曲少珍老师C程作业第四章选择结构作业与答案.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《海大 曲少珍老师C程作业第四章选择结构作业与答案.doc》由会员分享,可在线阅读,更多相关《海大 曲少珍老师C程作业第四章选择结构作业与答案.doc(6页珍藏版)》请在三一文库上搜索。

1、第4单元 选择结构作业1本作业的设计目的在于掌握多分支结构的多种实现方法,进一步巩固和理解课堂讲授的各种语句之间的关系。共编写20个程序。 80分=20个4分 一按照下面要求编写程序求解分段函数(三分支)。运行时用户输入整型x值,程序根据分段函数计算出y值并显示出来。1 用三个简单if语句实现算法并编写程序。(1) 请画出分支结构部分的流程图(2) 根据流程图写出完整的程序1.c(3) 设计完备的测试数据,运行程序并带入测试数据验证程序每个分支的正确性。2 用两分支语句(if.if./ ifelse)的各种嵌套形式实现算法并编写程序。(1) 请画出8种分支结构部分的流程图(2) 请根据这8种流

2、程图分别编写相应的程序8个(2.c9.c)。(3) 运用上题设计的测试数据分别运行这8个程序,以验证每个程序的正确性3 用多分支if语句实现算法并编写程序(1) 请画出该分支部分的流程图(2) 请根据该流程图编写多分支if语句的完整程序10.c(3) 运用前面设计的测试数据运行这个程序,以验证该程序的正确性4 用switch语句实现算法并编写程序(1) 请画出该分支部分的流程图(2) 请根据该流程图编写switch语句的完整程序11.c(3) 运用前面设计的测试数据运行这个程序,以验证该程序的正确性二编写程序,显示输入的某一级钳工的每小时报酬。假设钳工共有1、2、3、4四个级别,1级钳工每小时

3、5元,2级钳工每小时10元,3级钳工每小时20元,4级钳工每小时50元。例如,程序运行输入2,显示“10元/小时”。5 用4个简单if语句实现算法并编写程序。(1) 请画出分支结构部分的流程图(2) 根据流程图写出完整的程序12.c(3) 设计完备的测试数据(4个),运行程序并带入测试数据验证程序每个分支的正确性。6 用两分支语句(if.if./ ifelse)的各种嵌套形式实现算法并编写程序。(1) 请画出种分支结构部分的流程图,至少画出4种(2) 请根据这几种流程图分别编写相应的程序4个(13.c 16.c)。(3) 运用上题设计的测试数据分别运行这4个程序,以验证每个程序的正确性7 用多

4、分支if语句实现算法并编写程序(1) 请画出该分支部分的流程图(2) 请根据该流程图编写多分支if语句的完整程序17.c(3) 运用前面设计的测试数据运行这个程序,以验证该程序的正确性8 用switch语句实现算法并编写程序(1) 请画出该分支部分的流程图(2) 请根据该流程图编写switch语句的完整程序18.c(3) 运用前面设计的测试数据运行这个程序,以验证该程序的正确性9 用ifelse. / switch语句 / 多分支if语句 这三种语句或者其中任两种语句的嵌套实现算法并编写程序,写出两个程序 例如:(1)两分支语句(ifelse.) 内嵌switch语句实现,画出流程图,写出对应

5、程序19.c(2)两分支语句(ifelse.) 内嵌多分支if语句实现,画出流程图,写出对应程序20.c 。第4单元 选择结构作业2 (共20分)1. 编写程序,实现功能:从键盘输入一个整数,判断它能否被3,5,7整除,并输出下列信息之一:(4分)(1) 能同时被3,5,7整除(2) 能被其中两数(指出哪两个)整除(3) 能被其中一个数(指出哪一个)整除(4) 不能被3,5,7整除#include int main() int integer; printf(“nenter a integer :n”); scanf(“%d”, &integer) ;if(/*编写表达式描述“能同时被3,5,

6、7整除”*/) printf(“%d can be divided by 3, 5, 7 .n”, integer );else if(/*编写表达式描述“能被3,5整除”*/) printf(“%d can be divided by 3, 5 .n”, integer );else if(/*编写表达式描述“能被3,7整除”*/) printf(“%d can be divided by 3, 7 .n”, integer );else if(/*编写表达式描述“能被5,7整除”*/) printf(“%d can be divided by 5, 7 .n”, integer );els

7、e if(/*编写表达式描述“能被3整除”*/) printf(“%d can be divided by 3 .n”, integer );else if(/*编写表达式描述“能被5整除”*/) printf(“%d can be divided by 5 .n”, integer );else if(/*编写表达式描述“能被7整除”*/) printf(“%d can be divided by 7.n”, integer );else printf(“%d can not be divided by 3,5,7.n”, integer );return 0;思考:上述程序若把各分支的判断

8、条件按照相反的顺序(先判断是否能被其中任一个整除,再判断能否被其中任两个整除,最后判断是否能被三者整除)编写,运行后会出现什么情况?(2分)总结一下什么情况下判断条件的先后次序对正确结果无影响?(2分)2. 编写程序,实现功能(6分):从键盘输入两个运算数x 、y及一个运算符op, 计算表达式 x op y的值并打印输出。op是加、减、乘、除四则运算之一。要求考虑除法时除数为零的情况,若除数为0,则提示“divided by zero .”后结束程序运行(用exit(1)函数强制结束程序运行)。#include int main()float x , y, result ; char op;

9、printf(enter two numbers and their operator:n); scanf(%f %f %c, &x, &y,&op); /*编写程序段,用switch语句来处理op指定的运算。*/ printf(%.2f %c %.2f = %.2fn, x , op , y , result );3. 编写程序,实现功能:用户输入一个年月日,如2010-03-20,程序显示该日是这一年中的第几天。提示:闰年条件是能被4整除但不能被100整除,或者能被400整除的。(6分)#include int main() int year ,month,day, n=0; /* n用于

10、存储要计算的天数*/ printf(输入年月日,格式如1992-05-12n); scanf(%4d%*c%2d%*c%2d,&year,&month,&day); printf(%4d-%02d-%02d,year,month,day); /*编写程序段求解功能*/ return 0; 姓名_ 学号_ 实验课时间_ 成绩_3. #includeint main()int x,y;scanf(%d,&x);if(x0)y=1;else y=0;printf(y=%dn,y);return 0;2. #includeint main()int x,y;scanf(%d,&x);if(x=0)if

11、(x0)y=1;else y=0;else y=-1;printf(y=%dn,y);return 0;1. #includeint main()int x,y;scanf(%d,&x);if(x0)y=1;else if(x-0)y=0;else y=-1;printf(y=%dn,y);return 0;6. #includeint main()int x,y;scanf(%d,&x);if(x=0)if(x0)y=1;elsey=0;else if(x0)y=-1;printf(y=%dn,y);return 0;5. #includeint main()int x,y;scanf(%d

12、,&x);if(x0)y=1;elseif(x0)y=-1; if(x=0) y=0;printf(y=%dn,y);return 0;4. #includeint main()int x,y;scanf(%d,&x);if(x=0)if(x0)y=1; if(x=0) y=0;else y=-1;printf(y=%dn,y);return 0;9. #includeint main()int x,y;scanf(%d,&x);if(x0)y=1; if(x=0) if(x=0)y=0; if(x0)y=-1;printf(y=%dn,y);return 0;8. #includeint m

13、ain()int x,y;scanf(%d,&x);if(x0)y=1;if(x=0)if(x0) y=-1;else y=0;printf(y=%dn,y);return 0;7. #includeint main()int x,y;scanf(%d,&x);if(x=0)if(x0) y=1;if(x=0)y=0;else if(x0)y=-1;printf(y=%dn,y);return 0;12#includeint main()int a,v;scanf(%d,&a);if(a=1)v=5;if(a=2)v=10;if(a=3)v=20;if(a=4)v=50;printf(v=%d

14、元/小时n,v);return 0;11. #includeint main()int x,y;scanf(%d,&x);switch(x0) case 0 :switch(x0)case 1 :y=-1;break;case 0 :y=0;break;break;case 1 :y=1;break; printf(y=%dn,y); return 0;10. #includeint main()int x,y;scanf(%d,&x);if(x0)y=1; else if(x=0)y=0; else y=-1;printf(y=%dn,y);return 0;17#includeint ma

15、in()int a,v;scanf(%d,&a); if(a=1)v=5;else if(a=2)v=10;else if(a=3)v=20; else v=50;printf(v=%d元/小时n,v);return 0;16#include int main()int a,v;scanf(%d,&a);if(a3) v=50;elseif(a=2)v=10;if(a=3)v=20; if(a=1)v=5;printf(v=%d元/小时n,v);return 0;15.#includeint main()int a,v;scanf(%d,&a);if(a1) if(a=2)v=10; if(a

16、=3)v=20; if(a=4)v=50;else v=5;printf(v=%d元/小时n,v);return 0;14.#includeint main()int a,v;scanf(%d,&a);if(a=1) v=5; elseif(a2)if(a=3) v=20;else v=50;else v=10;printf(v=%d元/小时n,v);return 0;13.#includeint main()int a,v;scanf(%d,&a);if(a1)if(a2)if(a=3) v=20;else v=50;else v=10;else v=5;printf(v=%d元/小时n,v

17、);return 0;20#includeint main()int a,v;scanf(%d,&a);if(a1)if(a=2)v=10;if(a=3)v=20;if(a=4)v=50;else v=5;printf(v=%d元/小时n,v);return 0;19#includeint main()int a,v;scanf(%d,&a);switch(a2)case 0: if(a=1)v=5; else v=10;break;case 1: if(a=3)v=20;else v=50;break;printf(v=%d元/小时n,v);return 0;18#includeint ma

18、in()int a,v;scanf(%d,&a);switch(a) case 1: v=5;break;case 2: v=10;break; case 3: v=20;break; default :v=50;printf(v=%d元/小时n,v);return 0;22#include #includeint main()float x , y, result ; char op;printf(enter two numbers and their operator:n);scanf(%f %f %c, &x, &y,&op);switch(op)case 43:result=x+y;b

19、reak;case 45:result=x-y;break;case 42:result=x*y;break;case 47:if(y=0) printf(divided by zeron);exit(1); result=x/y;break; printf(%.2f %c %.2f = %.2fn, x , op , y , result );return 0;21#include int main()int integer;printf(nenter a integer :n);scanf(%d, &integer);if(integer%3=0)&(integer%5=0)&(integ

20、er%7=0)printf(%d can be divided by 3, 5, 7 .n,integer );else if(integer%3=0)&(integer%5=0)printf(%d can be divided by 3, 5 .n, integer );else if(integer%3=0)&(integer%7=0)printf(%d can be divided by 3, 7 .n, integer );else if(integer%5=0)&(integer%7=0)printf(%d can be divided by 5, 7 .n, integer );e

21、lse if(integer%3=0)printf(%d can be divided by 3 .n, integer );else if(integer%5=0)printf(%d can be divided by 5 .n, integer );else if(integer%7=0)printf(%d can be divided by 7.n, integer );elseprintf(%d can not be divided by 3,5,7.n, integer );return 0;23#include int d;int main() int year ,month,da

22、y, n=0; /* n用于存储要计算的天数*/printf(输入年月日,格式如1992-05-12n);scanf(%4d%*c%2d%*c%2d,&year,&month,&day);/printf(%4d-%02d-%02d,year,month,day);if(year%4=0)if(year%100=0)if(year%400=0) d=29;else d=28; else d=29; else d=28;switch(month)case 1: n=day;break;case 2: n=31+day;break;case 3: n=31+d+day;break;case 4: n

23、=31*2+d+day;break;case 5: n=31*2+d+30+day;break;case 6: n=31*3+d+30+day;break;case 7: n=31*3+d+30*2+day;break;case 8: n=31*4+d+30*2+day;break;case 9: n=31*5+d+30*2+day;break;case 10:n=31*5+d+30*3+day;break;case 11:n=31*6+d+30*3+day;break;case 12:n=31*6+d+30*4+day;break; printf(%4d-%02d-%02dn,year,month,day); printf(today is %dth day in this yearn,n); return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1