- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二--逻辑结构程序设计
实验二 逻辑结构程序设计
实验课程名:C语言程序设计
专业班级: 学号: 姓名:
实验时间: 实验地点: 指导教师:
一、实验目的和要求
了解C语言表示逻辑量的方法(以0代表“假”,以非代表“真” )。
学会正确使用逻辑运算符和逻辑表达。
熟练掌握if语句和switch语句.
学习调试程序。
二、实验内容
1源程序中包含有一些错误,调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。
# include “stdio.h”
void main( )
???????????{?int a,b,c;
?????????????scanf(%d%d%d,a,b,c);
?????????????if((ab)(ac))
???????????????if(bc)
?????????????????printf(min=%d\n,b);
???????????????else
?????????????????printf(min=%d\n,c);
?????????????if((ab)(ac))
???????????????printf(min=%d\n,a);
????????????}
解答:
(1)源代码:#include stdio.h
void main( )
{
int a,b,c,min;
scanf(%d %d %d,a,b,c);
min=a;
if(minb) min=b;
if(minc) min=c;
printf(min=%d\n,min);
}
(2)运行结果:
(3)运行结果分析:
2.参考上一题,编写一个C程序,求a、b、c、d四个数中的最大者。
编程点拨:
①多定义一个变量,并一开始令变量max=a;
②if(maxb) max=b;其余多个数据中求最值依此类推。
解答:
(1)源代码:#include stdio.h
void main( )
{
int a,b,c,d,max;
scanf(%d,%d,%d,%d,a,b,c,d);
max=a;
if(maxb) max=b;
if(maxc) max=c;
if(maxd) max=d;
printf(max=%d\n,max);
}
(2)运行结果:
(3)运行结果分析:
3.输入4个整数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按由大到小顺序输出。
相关知识:①输入函数scanf()的使用;②简单的排序算法;③通过中间变量t交换a和b值的方法:t=a; a=b; b=t;。
解答:
(1)源代码:#include stdio.h
void main()
{
int a,b,c,d,t;
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,a=d,d=t);
printf(%d %d %d %d\n,a,b,c,d);
}
(2)运行结果:
(3)运行结果分析:
4.根据以下函数关系,对输入的每个x值,计算出相应的y值。
当X取其他值时
解答:
(1)源代码:#include stdio.h
#include math.h
void main( )
{double x,y;
scanf(%f,x);
if(x=0x=1) y=exp(sqrt(x))-1;
else if(3=xx=4) y=fabs(x)+2;
else y=sin(x*x);
printf(%f,y);
}
(2)运行结果:
(3)运行结果分析:
5模仿第4题,写程序实现以下函数:
用scanf函数输入x的值,求y值。运行程序,输入x的值(分别为x1、1≤x10、x≥10三种情况),
检查输出的y值是否正确。
解答:
(1)源代码:#include stdio.h
#include math.h
void main( )
{int x,y;
scanf(%d,x);
if(x1) y=x;
else if(1=xx=10) y=2*x-1;
else if(x=5) y=3*x-11;
printf(y=%d,y);
}
(2)运行结果:
文档评论(0)