- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第4章选择结构程序设计;;设计
初始算法:
1.获取数据:水表上个月的读数和这个月的读数,读入人口数。
2.计算用水量:water=behind-previous。
3.计算用水标准量:ration=person*DOSAGE
4.if没有超出标准用水量
charge=water*CRITERION
else
charge=ration*CRITERION+(water-ration)*2*CRITERION
5.显示水费总数。;实现
如果条件water=ration求值为真,则按上述方法计算使用费用,否则超出部分的费用按照基准费率的2倍计算。
#includestdio.h
#defineDOSAGE3
#defineCRITERION1.51
main()
{
intperson,ration;
floatprevious,behind,water,charge;
printf(请输入人口数、上月水表读数、本月水表读数:);
scanf(%d%f%f,person,previous,behind);
ration=person*DOSAGE;
water=behind-previous;
if(water=ration)/*条件判断,分支选择*/
charge=water*CRITERION;
else
charge=ration*CRITERION+(water-ration)*2*CRITERION;
printf(\n用户水费是:%.2f\n,charge);
};;3.多分支if语句
if(表达式1)语句1
elseif(表达式2)语句2
elseif(表达式3)语句3
……
elseif(表达式m)语句m
else语句;说明:
(1)三种形式的if语句中,在if后面都有“表达式”,一般为逻辑表达式或关系表达式。例如,if(a==bx==y)printf(a=b,x=y);在执行if语句时先对表达式求解,若表达式的值为0,按“假”处理,若表达式的值为非0,按“真”处理,执行指定的语句。假如有以下if语句:
if(5)pritnf(YES.);
是合法的,执行结果输出“YES.”,因为表达式的值为5,按“真”处理。由此可见,表达式的类型不限于逻辑表达式,可以是任意的数值类型(包括整型、实型、字符型、指针型数据)。例如,下面的if语句也是合法的:
if(a)printf(%d,a);
执行结果:97/*输出“a”的ASCII值*/;(2)第二、第三种形式的if语句中,在每个else前面有一分号,整个语句结束处有一分号。例如:
if(x0)
printf(%f,x);
else
printf(%f,-x);
这是由于分号是C语句中不可缺少的部分,这个分号是if语句中的内嵌语句所要求的。如果无此分号,则将出现语法错误。但应注意,不要误认为上面是两个语句(if语句和else语句),它们都属于同一个if语句。else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用。;(3)在if和else后面可以只含一个内嵌的操作语句(如上例),也可以有多个操作语句,此时用花括号“{}”将几个语句括起来成为一个复合语句。如:
if(a+bcb+cac+ab)
{
s=0.5*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
pritnf(area=%6.2f,area);
}
elsepritnf(itisnotatrilateral);
注意在第3行的花括号“}”外面不需要再加分号。因为{}内是一个完整的复合语句,不需另附加分号。;例4-1输入两个实数,按代数值由小到大的次序输出这两个数。;例4-2输入3个数a,b,c,要求按由小到大的顺序输出。
解此题的算法比上一题稍复杂一些。可以用伪代码写出算法:
ifab将a和b对换(a是a,b中的小者)
ifac将a和c对换(a是a,c中的小者,因此a是三者中最小者)
ifbc将b和c对换(b是b,c中的小者,也是三者中次小者)
然后顺序输出a,b,c即可。;if()语句3
else语句4;if()
{if()语句1}(内嵌if)
else语句2
这时{}限定了内嵌if语句的范围,因此else与第一个if配对。;
您可能关注的文档
- 第3章 计算机软件.pptx
- 第3章 建筑法律制度.pptx
- 第3章 交通噪声及防治(1).pptx
- 第3章 教学媒体及环境.pptx
- 第3章 企业经营环境研究.pptx
- 第3章 企业应用平台OK.pptx
- 第3章 数据类型与常用函数.pptx
- 第3章 顺序结构程序设计.pptx
- 第3章 统计整理.pptx
- 第3章 投资业务核算.pptx
- 苏教版8年级上册数学全册教学课件(2021年10月修订).pptx
- 比师大版数学4年级下册全册教学课件.pptx
- 冀教版5年级上册数学全册教学课件.pptx
- 办公室普通党员2024年组织生活会个人对照检查发言材料供参考.docx
- 领导班子成员2025年组织生活会“四个带头”对照检查材料范文.docx
- 2024年度专题组织生活会个人“四个带头”对照检查材料范文.docx
- 党支部领导班子2025年民主生活会“四个带头”个人对照检查材料范文.docx
- 2024年抓基层党建工作述职报告参考范文.docx
- 2024年度民主生活会征求意见情况的报告范文2篇.docx
- 普通党员2024年组织生活会个人“四个带头”对照检查发言材料2篇.docx
文档评论(0)