下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四逻辑结构程序设计【实验类型】设计性【实验学时】2学时【实验目的】.掌握C语言表示逻辑量的方法(以0代表假,以非0代表“真”).正确使用逻辑运算符和逻辑表达式。.熟练掌握if语句和switch语句。.结合程序掌握一些简单的算法。【实验内容】1.本实验要求编程解决以下问题,然后上机调试运行程序。J_xX : : 1. y = 2x -11Mx 103x -11 x _10用scanf函数输入x的值,求y的值。解:#includeint main()double x,y;printf(请输入 x: n);scanf(%lf,&x); if (x=1&x10)y=2*x-1;elsey=3*x-
2、11;printf(%-7.2fn,y); return 0;.给出一个百分制的成绩,要求输出成绩等级A, B, C, D, Eo 9。分及以上为A, 80 89为B, 70 79为C, 60 69为D, 6 0分以下为E。要求从键盘输 入成绩,然后输出相应等级,分别用 if语句和switch语句实现。解:(用if语句)#includevoid main()char g;float s;printf(请输入学生成绩:n);scanf(%f,&s);while(s10011s=90) g=A;else if(s=80) g=B;else if(s=70) g=C;else if(s=60) g=
3、D;else g=E;printf(成绩为%.1f分,成绩等级为 g n,s,g);)(用switch语句)#includevoid main()(char g;float s;printf(请输入学生成绩:n);scanf(%f,&s);while(s10011s0) (printf( 输入有误,请重新输入!n);scanf(%f,&s);)switch(int)(s/10)case 10:case 9:g=A;break;case 8:g=B;break;case 7:g=C;break;case 6:g=D;break;case 5:case 4:case 3:case 2:case 1
4、:case 0:g=E;break;)printf(成绩为%5.1f分,成绩等级为g n,s,g);).编程实现:输入一个不多于5位的正整数,要求: (1 )输出它是几位数,(2 )分别输 出每一位数字,(3 )按逆序输出各位数字,如原数为3 2 1,则应输出12 3。应准备以下测试数据要处理的数为1位正整数;要处理的数为2位正整数;要处理的数为3位正整数;要处理的数为4位正整数;要处理的数为5位正整数;除此之外,程序还应当对不合法的输出作必要的处理。例如:输入负数;输入的数超过5位;解:#include#includevoid main()(long int num;int indiv,te
5、n,hundred,thousand,ten_thousand,place;printf(请输入一个整数(0-99999) : n);scanf(%ld,&num);while(num99999)printf( 输入有误,请重新输入!n);scanf(%ld,&num);if(num9999)place=5;else if(num999)place=4;else if(num99)place=3;else if(num9)place=2;else place=1;printf(该数是 位数 n,place);printf( 每位数字为:n);ten_thousand=num/10000;tho
6、usand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10); switch(place)case5:printf(%d,%d,%d,%d,%dn,ten_thousand,thousand,hundre
7、d,ten,indiv);printf( 反序数字为:);printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,ten_thousand);break;case 4:printf(%d,%d,%d,%dn,thousand,hundred,ten,indiv);printf( 反序数字为:);printf(%d%d%d%dn,indiv,ten,hundred,thousand);break;case 3:printf(%d,%d,%dn,hundred,ten,indiv);printf(反序数字为:);printf(%d%d%dn,indiv,ten,
8、hundred);break;case 2:printf(%d,%dn,ten,indiv);printf(反序数字为:);printf(%d%dn,indiv,ten);break;case 1:printf(%dn,indiv);printf(反序数字为:);printf(%dn,indiv);break;.编程实现:输入4个整数,要求按由小到大的顺序输出。得到正确结果后,修改程序使 之按由大到小的顺序输出。解:#includeint main()int a,b,c,d,t;printf( 请分别输入4个整数:n);scanf(%d,%d,%d,%d,&a,&b,&c,&d);if(ab)
9、 t=a;a=b;b=t;if(ac) t=a;a=c;c=t;if(ad) t=a;a=d;d=t;if(bc) t=b;b=c;c=t;if(bd) t=b;b=d;d=t;if(cd) t=c;c=d;d=t;printf(4个整数由小到大的顺序排列为:%d,%d,%d,%dn,a,b,c,d);return 0;#includeint main()int a,b,c,d,t;printf( 请分别输入4个整数:n);scanf(%d,%d,%d,%d,&a,&b,&c,&d);if(ab) t=a;a=b;b=t;if(ac) t=a;a=c;c=t;if(ad) t=a;a=d;d=t;if(bc) t=b;b=c;c=t;if(bd) t=b;b=d;d=t;if(cd) t=c;c=d;d=t;printf(4个整数由大到小的顺序排列为:%d,%d,%d,%dn,a,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论