C语言条件控制语句(二)

3.if...elseif语句

实际应用中常常面对更多的选择,这时,将if...else扩展一下,就得到if...elseif结构,其一般形式为:

if<表达式1>
    语句1
else if<表达式2>
     语句2
     else if<表达式3>
            语句3
else
     语句4

对应的流程图见图3-4。

[例3-7]货物征税问题,价格在1万元以上的征5%,5000元以上1万元以下的征3%,1000元以上5000以下的征2%,1000元以下的免税,读入货物价格,计算并输出税金。

分析:读入price,计算tax,这是一个较复杂的分支结构程序设计(应注意避免重复征税)。假定货物的价格在1万元以上,征税应分段累计,各段采用不同税率进行征收。

算法:

若price>=10000
则tax=0.05*(price-10000);price=10000;
否则,若price>=5000
则tax=0.03*(price-5000)+tax;price=5000;
否则,若price>=1000
则tax=0.02*(price-1000)+tax;price=1000;

程序如下:

#include <stdio.h>
main()
{
float price,tax=0;
printf("input price:");
scanf("%f",&price);
if(price>=10000.0)
{
tax=0.05*(price-10000)+tax;price=10000;
}
if(price>=5000.0)
{
tax=0.03*(price-5000)+tax;price=5000;
}
if(price>=1000.00)
{
tax=0.02*(price-1000)+tax;
}
printf("thetax=%10.3f",tax);
}

运行程序:

RUN¿
15000¿
thetax=480.000

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索if
, 语句
5000
c语言条件语句、c语言9种控制语句、c语言控制语句、c语言if语句多个条件、c语言条件判断语句,以便于您获取更多的相关知识。

时间: 2024-11-03 12:58:41

C语言条件控制语句(二)的相关文章

C语言条件控制语句(一)

在程序的三种基本结构中,第二种即为选择结构,其基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他分支上的语句被直接跳过. C语言中,提供if语句和switch语句选择结构,if语句用于两者选一的情况,而switch用于多分支选一的情形. 3.3.1 if语句 1.if语句的两种基本形式首先,我们看一个例子,由此了解选择结构的意义及设计方法. [例3-5]输入三个数,找出并打印其最小数. 分析:设三个数为A.B.C,由键盘读入,我们用一个变

C语言条件控制语句(三)

3.3.2switch语句if语句只能处理从两者间选择之一,当要实现几种可能之一时,就要用if...elseif甚至多重的嵌套if来实现,当分支较多时,程序变得复杂冗长,可读性降低.C语言提供了switch开关语句专门处理多路分支的情形,使程序变得简洁.switch语句的一般格式为:switch<表达式>case常量表达式1:语句序列1:break;case常量表达式2:语句序列2:break;⋯⋯case常量表达式n:语句n;break;default:语句n+1;其中常量表达式的值必须是整

linux语句if条件控制语句

问题描述 linux语句if条件控制语句 if [ -s $MAIL_FILE -a ""$MAILOUT"" = ""TRUE"" ]谁能帮我解释一下这条语句,详细的.灰常感谢 解决方案 字丑了点,将就一下哈 解决方案二: if [ -s $MAIL_FILE -a ""$MAILOUT"" = ""TRUE"" ].""-s

PHP条件控制语句实例程序

PHP条件控制语句一共有三种: 第一种:if语句: 第二种:switch语句: 第三种:三元操作符: 分别讲解下这三种条件控制语句. 第一种:if语句. if语法有以下几种格式: 1). if (表达式一) {  //满足条件执行以下程序段 执行语句; } 例如:  代码如下 复制代码 <?php if ($a > $b) { echo "a is bigger than b"; $b = $a; } ?> 2). if (表达式一){   //满足条件执行以下程序段

java-eclipse按ctrl+shift+f格式化代码,如何让条件控制语句不换行

问题描述 eclipse按ctrl+shift+f格式化代码,如何让条件控制语句不换行 例如我有这样的语句:写在一行的if.for.while语句.每次按ctrl+shift+F格式化代码的时候,一行就会变成两行,深深的觉得屏幕小,一行就可以 .所以怎么设置,按ctrl+shift+F格式化代码的时候,if,for.while等语句不会自定换行 ? 解决方案 格式化里一个处理一行的.这个应该是默认的,只能手动改吧. 解决方案二: 设置格式里有自定义设置 解决方案三: eclipse的window

C语言,寻找二维数组鞍点,代码个人测试正确, 但是wrong answer, 求大神指点

问题描述 C语言,寻找二维数组鞍点,代码个人测试正确, 但是wrong answer, 求大神指点 Description 给定一个海拔平面图,相当于一个二维数组,数组的每个元素表示一个点的海拔高度.请判断该图中是否存在鞍点,如果存在,则输出该鞍点的位置,即行.列坐标. 本题规定鞍点的定义为:该点的值在它所在的那行中是唯一最大的,且该点的值在它所在的那列中是唯一最小的. Input 输入有多个测试用例,如果把每个测试用例看作一个"块",那么,在一个"块"中: 第一行

c语言中向二维字符数组中写入符号*

问题描述 c语言中向二维字符数组中写入符号* 声明一个二维字符数组char str[][]: 通过循环嵌套向里面写入符号 * 怎么实现?求前辈指教. 解决方案 for (int i = 0; i < 100; i++) { arr[i / 10][u % 10] = ' '; } for (i =0; i < 10; i++) { arr[3][i] = '*'; arr[4][i] = '*'; arr[i][3] = '*'; arr[i][4] = '*'; } 解决方案二: 只要一行

qq空间-C#如何登录QQ空间? 怎么易语言登得二五呢?

问题描述 C#如何登录QQ空间? 怎么易语言登得二五呢? 我想做个程序替我玩QQ空间,但不知道如何才能用C#登录QQ空间. 我在网上搜索了很长时间,探索了一下Javascript.Net.Jint.Jurassic .IronJS,小段代码可以运行,但对于加密密码的JS函数,运行总出错. 不知道怎么回事?易语言好像登得二五呢?大神们,拯救我吧! 解决方案 C#实现QQ空间登录C#之自动提交表单登录QQ空间C#之自动提交表单登录QQ空间... 解决方案二: 易语言登得二五是什么意思? C#登录qq

C语言 指针与二维数组详解_C 语言

二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有"缝隙".以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解,a 的分布像一个矩阵: 0   1   2   3 4   5   6   7 8   9  10  11 但在内存中,a 的分布是一维线性的,整个数组占用一块连续的内存: C语言中的二维数组是按行排列的,也就是先存放 a[