选择结构程序设计举例

本文通过示例展示了C语言中实现选择结构的三种方法:if-else if语句、多个if语句和switch语句,包括计算提成比率和判断闰年的场景。并讨论了各种选择结构的特点和适用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



方法①:if else if 语句

#include <stdio.h>

void main()

{

  long profit; //所接工程的利润

  float ratio; //提成比例

  float salary = 500; //薪水,初始值为保底500

  printf("input profit;"); //提示输入所接工程的利润

  scanf("%ld",&profit); //输入所接工程的利润

  //计算提成比率

  if(profit<=1000)

     ratio = 0;

  else if(profit<=2000)

     ratio = (float)0.10

  else if(profit<=5000)

     ratio = (float)0.15

  else if(profit<=10000)

     ratio = (float)0.20

  else ratiol = (float)0.25

  salary += profit * ratiol; //计算当月薪水

  printf("salary=%.2f\n",salary); //输出结果

}

方法②:多个 if 语句

#include <stdio.h>

void main()

{

  long profit; //所接工程的利润

  float ratio; //提成比例

  float salary = 500;  //薪水,初始值为保底500

  printf("input profit;"); //提示输入所接工程的利润

  scanf("%ld",&profit); //输入所接工程的利润

  //计算提成比率

  if(profit<=1000)

     ratio = 0;

  if(1000<profit && profit<=2000)

     ratio = (float)0.10;

  if(2000<profit && profit<=5000)

     ratio = (float)0.15

  if(5000<profit && profit<=10000)

     ratio = (float)0.20

  if(profit>10000)

     ratio = (float)0.25

  salary += profit * ratio; //计算当月薪水

  printf("salary=%.2f\n",salary); //输出结果

}

方法③:switch 语句

#include <stdio.h>

void main()

{

  long profit;

  int grade;

  float ratio;

  float salary = 500;

  printf("input profit");

  scanf("%ld",&salary);

  grade = (profit - 1)/1000;

  switch(grade)

  {

      case 0: ratio = 0; break;

      case 1: ratio = (float)0.10; break;

      case 2: 

      case 3:

      case 4: ratio = (float)0.15; break;

      case 5:

      case 6:

      case 7:

      case 8:

      case 9: ratio = (float)0.20; break;

      default: ratio = (float)0.25;break;

  }

  salary = profit * ratio;

  printf("salary=%2f\n",salary);

}


#include <stdio.h>

void main()

{

  int year,leap = 0; //leap=0,预置为非闰年

  printf("input year"); //提示输入年份

  scanf("%d",&year); //输入年份

  if(year % 4 == 0) //如果被4整除

  if(year % 4 != 0) //如果不被100整除

  leap = 1; //闰年

  if(year % 400 ===0)

  leap = 1; //闰年

  //输出结果

  if(leap) //如果leap==1

     printf("%d is leap year;\n",year);

  else

     printf("%d is not leap year;\n",year);

}


#include <stdio.h>

void main()

{

  float a, b; //存放两个数的变量

  int tag = 0; //运算合法的标志,0--合法,1--非法

  char ch; //运算符变量

  float result; //运算结果变量

  printf("input two number : "); //提示输入两个数

  scanf("%f%f",&a,&b); //输入两个数字

  fflush(stdin); //清键盘缓冲区

  printf("input arthmetic lable(+ - * /) : "); //提示输入运算符

  scanf("%c",&ch); //输入运算符

  switch(ch) //根据运算符来进行相关的运算

  {

      case '+': result = a + b; break; //加法运算

      case '-': result = a - b; break; //减法运算

      case '*': result = a * b; break; //乘法运算

      case '/': 

         if(!b) //除法运算,且判断除数是否为0

         {         

             printf("divisor is zero !\n"); //显示除数为0

             tag = 1; //运算非法标志

         }else  //除数不为0

              result = a / b; //计算商

      break; 

      default: printf("illegal arthmetic lable\n"); //非法的运算符

      tag = 1; //运算非法标志

}

  if(!tag) //运算合法,显示运算结果

  printf("%.2f %c %.2f = $.2f\n",a, ch, b, result);

}

C语言程序的执行部分是由语句组成的

程序的功能也是由执行语句实现的

C中的语句可以分为表达式语句、函数调用语句、复合语句、空语句及控制语句五类

C语言提供了多种形式的条件语句以构成选择结构

if语句主要用于单项选择

if-else语句主要用于双向选择

if-else-if语句和switch语句用于多项选择

任何一种选择结构都可以用if语句来实现,但并非所有的if语句都有等价的switch语句。switch语句只能用来实现以相等关系作为选择条件的选择结构。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值