第二十四讲 if语句的嵌套

【项目1:分段函数求值】
从键盘输入x的值(要求为实型),根据公式1计算并输出x和y的值。 
#include "stdio.h"
#include "math.h"
int main()
{
	float x,y;
	printf("Please input a number\n");
	scanf("%f",&x);
	if(x<2)
	{
		y=x;
		printf("x=%f,y=%f\n",x,y);
	}
	else if(x<6)
	{
		y=x*x+1;
		printf("x=%f,y=%f\n",x,y);
	}
	else if(x<10)
	{
		y=sqrt(x+1);
		printf("x=%f,y=%f\n",x,y);
	}
	else
	{
		y=1/(x+1);
		printf("x=%f,y=%f\n",x,y);
	}
	return 0;

}


运行结果



知识点 if多分支语句

心得 若if语句中是x<2,则else if中可以直接写x<6;数学问题变量定义为实型 float;


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


#include "stdio.h"
int main()
{
	float x;
	printf("输入油量表读数(0-1):\n");
	scanf("%f",&x);
	if(x<0.25)
	{
		printf("油量低,注意!\n");
	}
	else if(x<0.80)
	{

	}
	else
	{
		printf("高油量,不必停!\n");
	}
	return 0;

}


运行结果






知识点 同上。

心得 同上。


【项目3:一元二次方程全解】(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,delta;
	float x1,x2,x;
	printf("please input a,b,c\n");
	scanf("%f,%f,%f",&a,&b,&c);
	delta=b*b-4*a*c;
	if(a)//a!=0,若a=0就不执行if语句,运用了0为假,非0为真。
	{
		if(delta>=0)
		{
			x1=(-b+sqrt(delta))/2;
			x2=(-b-sqrt(delta))/2;
			printf("有两实根x1=%f,x2=%f\n",x1,x2);
		}
		else
		{
            x1=(-b+sqrt(delta))/2;
			x2=(-b-sqrt(delta))/2;
			printf("有两虚根x1=%f,x2=%f\n",x1,x2);

		}
	}
	else
	{
		if(b)
		{
			printf("解为%f\n",-c/b);
		}
		else
		{
			if(c)
			{
				printf("无解\n");
			}
			else
			{
				printf("x=%f",x);
			}
		}
	}
	return 0;

}


运行结果








知识点 if语句的嵌套

心得 if语句使用a!=0可以直接使用a作为表达式,若a=0就不执行此分支,若a非0就执行此分支。可以使代码简便。


【项目4:个人所得税计算器if语句版】
编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。
(1)用if语句的嵌套完成;

#include "stdio.h"
int main()
{
	double dSalary,dTax=0,dNetIncome=0;
	printf("请输入您本月的收入总额(元):");
	scanf("%lf",&dSalary);
	if(dSalary<3500)
	{
		dNetIncome=dSalary;
		printf("dTax=%f,dSalary=%f\n",dTax,dSalary);
	}
	else
	{
		if(dSalary<5000)
		{
          dTax=(dSalary-3500)*0.03;
		  dNetIncome=dSalary-dTax;
		  printf("dTax=%f,dSalary=%f\n",dTax,dSalary); 
		}
		else if(dSalary<8000)
		{
		   dTax=(dSalary-3500)*0.10-105;
		   dNetIncome=dSalary-dTax;
		   printf("dTax=%f,dSalary=%f\n",dTax,dSalary); 

		}
		else if(dSalary<12500)
		{
		  dTax=(dSalary-3500)*0.20-555;
		  dNetIncome=dSalary-dTax;
		  printf("dTax=%f,dSalary=%f\n",dTax,dSalary); 
		}
		else if(dSalary<38500)
		{
		  dTax=(dSalary-3500)*0.25-1005;
		  dNetIncome=dSalary-dTax;
		  printf("dTax=%f,dSalary=%f\n",dTax,dSalary); 
		}
		else if(dSalary<58500)
		{
		  dTax=(dSalary-3500)*0.30-2755;
		  dNetIncome=dSalary-dTax;
		  printf("dTax=%f,dSalary=%f\n",dTax,dSalary); 
		}
		else if(dSalary<83500)
		{
		  dTax=(dSalary-3500)*0.35-5505;
		  dNetIncome=dSalary-dTax;
		  printf("dTax=%f,dSalary=%f\n",dTax,dSalary); 
		}
		else
		{
		  dTax=(dSalary-3500)*0.45-13505;
		  dNetIncome=dSalary-dTax;
		  printf("dTax=%f,dSalary=%f\n",dTax,dSalary); 
		}
	}
	printf("您本月应缴个人所得税 %.21f 元,税后收入是 %.21f 元。\n",dTax,dNetIncome);
	printf("依法纳税,共享繁荣。谢谢使用!\n");
	return 0;

}


运行结果




知识点 if语句的嵌套,及其多分支语句。

心得 若if语句中是x<2,则else if中可以直接写x<6。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值