第二十四课 if语句的嵌套 【项目1-4】

第二十四课  if语句的嵌套




项目一 【分段函数求值

从键盘输入x的值(要求为实型),根据公式1计算并输出x和y的值。  


代码:

#include <stdio.h>
#include <math.h>
int main()
{
    double x,y;
    scanf ("%lf",&x);
    if(x<2)
        y=x;
    else if(x<6)
        y=x*x+1;
    else if(x<10)
        y=sqrt(x+1);
    else
        y=1/(x+1);
    printf ("y=%lf",y);
    return 0;
}



运行结果:







项目二【油量监控
设计一个程序,用于赛车油量的监控。该程序在赛车油量偏低(少于1/4,即0.25)时,警示车手应该注意;在油箱接近满载(不低于3/4)时,提示提手不要停车。而对于其他情况下,不提示任何信息,以免车手分心。
请设计出这个程序来,输入油量刻度(0-1之内的数,如0.21),提示相应信息,如果需要的话。
提示:下面显示了几种情况,注意对程序的完整测试。





代码

#include <stdio.h>
int main()
{
    double r;
    printf("请输入油量表读数(0-1):");
    scanf ("%lf",&r);
    if (r<0.25)
        printf ("油量偏低,请注意!");
    else if (r<0.75)
        printf ("油量正常,不必停车。");
    else
        printf ("油量充足,不用担心。");
    return 0;
}



运行结果






项目三【一元二次方程全解

(x^2代表x的平方)
有一方程ax^2+bx+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。
(1) a=0,b≠0时, 解为-c/b
(2) a=0,b=0,c=0, 解为任意值 
(3) a=0,b=0,c≠0, 无解
(4) a≠0,b^2-4ac≥0, 有两个实根
(5) a≠0,b^2-4ac≤0, 有两个虚根


代码

#include <stdio.h>
#include <math.h>
int main()
{
  float a,b,c,d=b*b-4*a*c,x1,x2;
  printf("请输入a,b,c的值:");
  scanf ("%f %f %f",&a,&b,&c);
  if (a==0)
  {
      if (b!=0)
        printf("x1=x2=%f\n",-c/b);
      else
      {
          if(c==0)
            printf("x的值为任意值。\n");
          else
            printf("方程式无解。\n");
      }
  }
  else
  {
      if ((b*b-4*a*c)>=0)
      {
        x1=(-b+sqrt(d))/(2*a);
        x2=(-b-sqrt(d))/(2*a);
        printf("x1=%f,x2=%f\n",x1,x2);
      }
      else
      {
        x1=-b/(2*a);
        x2=sqrt(-d)/(2*a);
        printf("x1=%f,x2=%f\n",x1,x2);
      }
  }
  return 0;
}


运行结果









项目四 【个人所得税计算器if语句版

编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。
(1)用if语句的嵌套完成;
(2)可以在下面程序的基本框架基础上完成,如需其他变量自行增加

  1. #include <stdio.h>  
  2. int main ( )  
  3. {  
  4.     double dSalary,dTax=0,dNetIncome=0;   
  5.     printf("请输入您本月的收入总额(元):");  
  6.     scanf("%lf", &dSalary);  
  7.     // 下面求解应缴个人所和税dTax和税后收入dNetIncome  
  8.     printf("您本月应缴个人所和税 %.2lf 元,税后收入是 %.2lf 元。\n", dTax, dNetIncome);  
  9.     printf("依法纳税,共享繁荣。谢谢使用!\n");  
  10.     return 0;  
  11. }  

附:关于个人所得税的有关背景知识
计算方法:个人所得税=(收入总额-3500)*税率-速算扣除数
从2011年9月1日起,我国个人所得税起征点基数为3500元,超出部分按以下7级计算。

序号

收入范围

税率

速算扣除数

1

超过01500

3%

0

2

超过1500元至4500元的部分

10%

105

3

超过4500元至9000元的部分

20%

555

4

超过9,000元至35,000元的部分

25%

1005

5

超过35,000元至55,000元的部分

30%

2755

6

超过55,000元至80,000元的部分

35%

5505

7

超过80,000以上

45%

13505

例如:王某月收入总额3600元,个人所得税=(3600-3500)*3%=3元;
再例:李某月收入13500元,个人所得税=(13500-3500)*25%-1005=2500-1005=1495元。

代码

#include <stdio.h>
int main()
{
    double dSalary,dTax=0,dNetIncome=0,dValue,dRate;
    int dOffset;
    printf("请输入您本月的收入总额(元):");
    scanf ("%lf",&dSalary);
    dValue=dSalary-3500;
    if(dValue<=0.0){
        dTax=0;
        printf("您不需要缴税。\n");
    }
    else
    {
        if(dValue<=1500)
            dRate=0.03,dOffset=0;
        else if(dValue<=4500)
            dRate=0.10,dOffset=105;
        else if(dValue<=9000)
            dRate=0.20,dOffset=555;
        else if(dValue<=35000)
            dRate=0.25,dOffset=1005;
        else if(dValue<=55000)
            dRate=0.3,dOffset=2755;
        else if(dValue<=80000)
            dRate=0.35,dOffset=5505;
        else
            dRate=0.45,dOffset=13505;
        dTax=dValue*dRate-dOffset;
    dNetIncome=dSalary-dTax;
    printf("您本月应缴个人所得税%0.2lf元,税后收入为:%0.2lf元。\n",dTax,dNetIncome);
    }
    printf("依法纳税,共享繁荣。谢谢使用!\n");
    return 0;
}


运行结果









知识点和心得:


因为条件语句是划分条件的,所以条件非常多的情况下,要明白各条件之间的关系,之间出现的正反逻辑明白原理就好懂了、

























116

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值