




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.姓名学号班级1.练习题一编写程序,计算练习一分段函数的值。(1) 用scanf函数输入x的值。(2) 运行程序时,分别按x的值小于0、x的值在0-15之间、x的值大于15三种情况输入数据,检查输出的y值是否正确。# include int k=1;void test();/程序是否继续void main ()while (k=1)int x,y,c;printf(Input x:);scanf(%d,&x);while (c=getchar()!=n&c!=EOF);if (x0) y=x+10;printf(x=%d,y=x+10=%dn,x,y);else if(x15) y=3*x+5;printf(x=%d,y=3*x+5=%dn,x,y);elsey=2*x-10;printf(x=%d,y=2*x-10=%dn,x,y);test();void test() char c;printf(Test again?y/nn);if (c=getchar()=n|c=N)/只有当输入N或n时才终止程序k=0;运行结果截图:思考题及问题:判断x的值在0-15之间可否使用表达式“0=x=0&x15.2.练习题二输入3个数字,判断他们是否能构成三角形,如果不能,输出提示信息;否则判断它是直角、等边、等腰还是普通三角形。# include int k=1;void test();void main() while(k=1)int a,b,c,d;printf(Input a,b,c:);scanf(%d,%d,%d,&a,&b,&c);while (d=getchar()!=n&c!=EOF);/清空输入缓存区if(!(a0&b0&c0&a+bc&a+cb&b+ca)printf(三条边无法构成三角形。n);else if (a*a+b*b=c*c|a*a=b*b+c*c|b*b=a*a+c*c)printf(这是一个直角三角形n); else if (a=b&b=c)printf(这是一个等边三角形n);else if (a=b|b=c|a=c)printf(这是一个等腰三角形n);elseprintf(这是一个普通三角形n);test();void test() char c;printf(Test again?y/n:);if (c=getchar()=n|c=N)/只有当输入N或n时才终止程序k=0;运行结果截图:思考题及问题:判断三角形的类型时需要用到各种判断条件,入等边三角形的判断条件是3条边相等,该判断条件可否描述为“a=b=c”?为什么?答案:不能,“=”在C语言中是赋值符号,在条件判断式中是一个永真式,会引起语义错误。1. 练习题三编写一个程序,输出给定的某年某月的天数。要求:采用switch语句实现。程序代码:# include void main()int year,mon,days,leap;printf(年.月:);scanf(%4d.%2d,&year,&mon);switch(mon)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|year%400=0)leap =1;elseleap=0;if (leap)days=29;elsedays=28;printf(%d年%d月的天数为%d天n,year,mon,days);运行结果截图:思考题及问题: 本程序所给代码中的switch语句没有default语句可以吗?default语句应该在switch语句的什么位置?可以。Default语句可以在之间的任意位置。 本程序所给代码中的最后一个case语句中,没有break正确吗?请解释。正确。在switch语句中,当找到符合条件的case时,执行该case语句及之后的其他情况的语句,故C语言会在case语句和default语句后加break;防止执行下面的语句。而最后一个case语句后无其他语句,故没有break语句也正确。1. 自测练习一编写程序,计算逻辑表达式的值。假设int a=0,b=1,c=1,d=3;(1)表达式a*b&c-d、c-d&a*b是多少?为什么?程序代码:# include void main() int a=0,b=1,c=1,d=3; printf(%d,%d,a*b&c-d,c-d&a*b);运行结果截图及原因:a*b=0,逻辑假,由于与运算的短路性,&右边的表达式不进行,直接为0;c-d=-2,逻辑真,为1,故第二个运算式为1&0=0.(2)表达式a|+b&-c的值是多少?变量a、b、c的值分别是多少?为什么?程序代码:# include void main() int a=0,b=1,c=1,d=3; printf(%dn,-a|+b&-c); printf(a=%d,b=%d,c=%d,a,b,c);运行结果截图及原因:+b即b的值为2,是真值1,-c值即c的值为0,假值0。-a即a的值为0,假值0.故结果为0|1&0=1&0=0,(3)表达式+b&-c|-a的值是多少?变量a、b、c的值分别是多少?为什么?程序代码:# include void main() int a=0,b=1,c=1,d=3; printf(+b&-c|-a=%dn,+b&-c|-a); printf(a=%d,b=%d,c=%d,a,b,c);运行结果截图及原因:+b即b的值为2,是真值1,-c值即c的值为0,假值0。-a即a的值为-1,真值1.故结果为1&0|1=1,2. 自测练习二设整型变量a、b、c分别存放从键盘输入的3个整数。编写C程序,按从大到小排列这3个数,使a成为最大值,c成为最小值,并且按序输出这3个数。源程序代码:# include void main()int a3=0,t,j,i,k;for (i=0;i=2;i+)printf(Input %c:,i+97);scanf(%d,&ai);for (j=0;j=2;j+)/冒泡法for (i=0;i=2-j;i+)if (aiai+1)t=ai,ai=ai+1,ai+1=t;printf(a=%d,b=%d,c=%dn,a0,a1,a2);运行结果截图:3. 自测练习三从键盘输入一个小于六位的正整数,判断它是几位数,并按照相反的顺序输出各位上的数字,例如输入1234,输出为4321。源程序代码:# include # include void main()int i=4,a6=0,k=0;printf(“请输入一个小于六位的正整数:);scanf(%d,&a5);while (a5=1;i-)ai=ai+1%(int)pow(10,i);ai+1=ai+1/(int)pow(10,i);for (i=1;i=k;i+)/倒序输出printf(%d,ai);printf(n);运行结果截图:4. 自测练习四假设今天是星期日,编写一个程序,求n(n由键盘输入)天后是星期几。源程序代码:# include void main()int n,t;printf(假设今天是星期日,求n天后是星期几n输入n=);scanf(%d,&n);t=n%7;switch(t)case 0:printf(n天后还是星期日n);break;case 1:printf(n天后是星期一n);break;case 2:printf(n天后是星期二n);break;case 3:printf(n天后是星期三n);break;case 4:printf(n天后是星期四n);break;case 5:printf(n天后是星期五n);break;case 6:printf(n天后是星期六n);运行结果截图:5. 自测练习五假定向香港邮寄包裹的收费规则如下:首先,包裹重量向上取整到最近的15g的倍数,然后按书上表格收费,编写一个程序根据用户输入的包裹的重量和里程计算邮费。包裹邮费计算表重量(g)收费(元)15530945126014(每足1000km加1元)75及以上15(每足1000km加2元)源程序代码:# include int k=1,c=0;/全局变量void test() printf(Test again?y/n:);if (c=getchar()=n|c=N)/只有当输入N或n时才终止程序k=0;void main() while(k=1) int m,s; printf(请输入包裹重量(g); scanf(%d,&m); printf(请输入里程数(km); scanf(%d,&s); while(c=getchar()!=n&c!=EOF);/清空输入缓存区 if(m%15!=0)m=(m/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南长沙雨花区雅境中学2026届九上化学期中联考试题含解析
- 2026届重庆八中学、九十五中学等学校化学九年级第一学期期中经典试题含解析
- 青川抽污水施工方案设计
- 河北省保定市清苑区北王力中学2026届九上化学期中教学质量检测试题含解析
- 高层过道清理方案范本
- 员工培训结交客户
- 装配生产工艺培训大纲
- 陕西省宝鸡岐山县联考2026届化学九上期中检测模拟试题含解析
- 2026届江苏省连云港市新海实验中学英语九年级第一学期期末学业水平测试试题含解析
- 2026届重庆市西南大附属中学化学九年级第一学期期末预测试题含解析
- 2025中国农业科学院棉花研究所第二批招聘7人备考考试题库附答案解析
- 部编版2025-2026学年三年级上册语文期中测试情境卷A卷(含答案)
- 做更好的自己课件-2025-2026学年统编版道德与法治七年级上册
- 2023年贵州贵州贵安发展集团有限公司招聘考试真题及答案详解(夺冠)
- 移动照明车夜间施工租赁协议
- 重庆西南大学附中2025-2026学年九年级上学期开学考试语文试题
- 2025年大宗商品贸易业务流程优化计划
- 情感表达+课件+2025-2026学年人教版(2024)初中美术七年级上册
- 借名购车协议贷款协议书
- 2025年6月四川省高中学业水平合格性考试地理试题(解析版)
- 2024年北京事业编笔试题(附答案)
评论
0/150
提交评论