赞
踩
1.输入你的身高和体重,测试你的健康状况。
计算bmi的值,
bmi = (体重/身高的平方)
如果bmi 小于18.5,则显示“偏瘦,注意加强营养”
如果bmi 在18.5和23.9之间,则显示“体重指数良好,注意保持”
如果bmi值大于23.9 ,则显示“你有点偏胖,注意锻炼”
- /*1.输入你的身高和体重,测试你的健康状况.*/
-
- #include <stdio.h>
-
- int main(void)
- {
- float height,weight;
-
- printf("请输入您的身高(m):");
- scanf("%f",&height);
-
- printf("请输入您的体重(kg):");
- scanf("%f",&weight);
-
- float bmi = weight / (height * height);
-
- if(weight <= 0 || height <= 0)
- {
- printf("身高和体重必须为正数,请重新输入\n");
- return 1;
- }
-
- if(bmi < 18.5)
- {
- printf("偏瘦,注意加强营养\n");
- }
- else if(18.5 <= bmi && bmi <= 23.9)
- {
- printf("体重指数良好,注意保持\n");
- }
- else
- {
- printf("你有点偏胖,注意锻炼\n");
- }
-
- return 0;
-
- }
2. 西安市对安装“一户一表”的居民用户按阶梯式累进电价进行计收电费,具体方案是,
月用电量低于50千瓦时部分,电价不调整,为0.538元/千瓦时;51~200千瓦时部分,
单价为0.568元/千瓦时;超过200千瓦时部分,电价为0.638元/千瓦时。市区徐某家4月份
的用电量为96千瓦时,其电费计算如下:基本电费部分:50千瓦时×0.538元/千瓦时=26.90元;
超出50千瓦时的调价电费:(96-50)千瓦时×0.568元/千瓦时=26.13元;电费合计26.90+26.13=53.03元 。
“阶梯式电价”机制可有效地抑制电力浪费现象,引导居民节约用电,合理用电,比纯粹“口号倡导型”
节约用电更加有效。
编写一个程序根据输入的用电量,计算电费。
- /*2.编写一个程序根据输入的用电量,计算电费。*/
-
- #include <stdio.h>
-
- int main(void)
- {
-
- float usage,cost = 0;
-
- printf("请输入四月份用电量(单位:千瓦时):");
- scanf("%f",&usage);
-
- if(usage < 0)
- {
- printf("用电量不可以是负数,请重新输入!");
-
- return 1;
- }
-
- if(usage <= 50)
- {
- cost = usage * 0.538;
- }
- else if(usage <= 200)
- {
- cost = (usage - 50) * 0.568 + 50 * 0.538;
- }
- else
- {
- cost = (usage - 200) * 0.638 + 150 * 0.568 + 50 * 0.538;
- }
-
- printf("四月份的电费为:%.2f元\n",cost);
-
- return 0;
-
- }
3.设计一个计算个人所得税的软件,假设应纳税额可由如下公式计算:
应纳税所得额 = 工资收入金额 - 各项社会保险费 - 起征点(5000元)
应纳税额 = 应纳税所得额 x 税率 - 速算扣除数
若月收入额, 税率, 速算扣除数 关系如下表:
< 12000 10% 252
12000 ~25000 20% 1692
25000 ~35000 25% 3192
35000 ~ 55000 30% 5292
55000 ~ 80000 35% 8592
80000 以上 45% 18192
通过输入工资总额和社保费用计算应纳税额
(这个题我先琢磨琢磨,今天我想先发,我会回来写的)
我怎么算怎么是负数,脑子不清醒了(嗷,不是我的问题嘿嘿,是速算扣除数值太大了, 我把0改了)
- /* 3.设计一个计算个人所得税的软件
- 应纳税所得额 = 工资收入金额 - 各项社会保险费 - 起征点(5000元)
- 应纳税额 = 应纳税所得额 x 税率 - 速算扣除数 */
-
- #include <stdio.h>
-
- int main(void)
- {
- float salary,social_secuity,tax_income,tax; //定义变量工资,社保费用,应纳所得税,应纳税额
-
- printf("请输入您的工资总额(元):");
- scanf("%f",&salary);
-
- printf("请输入您的社保费用(元):");
- scanf("%f",&social_secuity);
-
- if(salary <= 0 || social_secuity < 0)
- {
- printf("请输入正确的数值!");
- return 1;
- }
-
- //计算应纳所得额 //应纳税所得额 = 工资收入金额 - 社保费用 - 起征点(5000元)
- tax_income = salary - social_secuity - 5000;
-
- if(tax_income <= 0)
- {
- tax = 0;
- }
-
- else if(tax_income <= 12000)
- {
- tax = tax_income * 0.10 - 252; // 应纳税额 = 应纳税所得额 x 税率 - 速算扣除数
- }
-
- else if(tax_income <= 25000)
- {
- tax = tax_income * 0.20 - 1692; //重复分支语句
- }
-
- else if(tax_income <= 35000)
- {
- tax = tax_income * 0.25 - 3192;
- }
-
- else if(tax <= 55000)
- {
- tax = tax_income * 0.30 - 5292;
- }
-
- else if(tax <= 80000)
- {
- tax = tax_income * 0.35 - 8592;
- }
-
- else
- {
- tax =tax_income * 0.45 - 18192;
- }
-
- if(tax < 0)
- {
- tax = 0; //tax应纳税额不应为负值
- }
-
- printf("您的应纳税额为:%.2f元\n",tax); //定义是float,返回也应该是%f
-
- return 0;
-
- }
4.设计TVM(地铁自动售票机)机软件。
输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。
输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别面额:
100,50,20,10,5,1
当然前面if站数的花费也可以使用switch ... case语句
一步步找零,由大到小的找零
- /*4.设计TVM(地铁自动售票机)机软件。
- 输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。
- 输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别面额:100,50,20,10,5,1 */
-
- #include <stdio.h>
-
- int main(void)
- {
- int stations,payfor,cost;
- printf("请输入您要做的站数:");
- scanf("%d",&stations);
-
- printf("请输入您付的钱数:");
- scanf("%d",&payfor);
-
- if(stations <= 0)
- {
- printf("站数必须大于等于1,请重新输入正确的站数!");
- return 1;
- }
-
- else if(stations <= 6)
- {
- cost = 2;
- }
-
- else if(7 <= stations && stations <= 10)
- {
- cost = 3;
- }
-
- else
- {
- cost = 4;
- }
-
-
- //找钱
- int nhand = 0,nfifty = 0,ntwenty = 0,nten = 0,nfive = 0, none =0;
- int payback = payfor - cost;
-
- //由大到小的找钱循环嵌套
- if(payback > 0)
- {
- nhand = payback / 100;
- payback = payback - nhand * 100;
- if(payback > 0)
- {
- nfifty = payback /50;
- payback = payback - nfifty * 50;
- if(payback > 0)
- {
- ntwenty = payback / 20;
- payback = payback - ntwenty *20;
- if(payback > 0)
- {
- nten = payback / 10;
- payback = payback - nten * 10;
- if(payback > 0)
- {
- nfive = payback / 5;
- payback = payback - nfive * 5;
- if(payback > 0)
- {
- none = payback;
- }
- }
- }
- }
- }
- }
-
- printf("%d张100元,%d张50元,%d张20元,%d张10元,%d张5元,%d张1元\n",nhand,nfifty,ntwenty,nten,nfive,none);
-
- return 0;
- }
当然这里的站数的花费也可以使用sitch ... case语句,只是展示一下
- #include <stdio.h>
-
- int main(void)
- {
- int station, payfor, cost;
- scanf("%d%d", &station, &payfor);
-
- if (station <= 0)
- {
- printf("站数必须大于等于1,请重新输入正确的站数!\n");
- return 1;
- }
-
- switch (station)
- {
- case 6:
- cost = 2;
- break;
- case 7:
- case 8:
- case 9:
- case 10:
- cost = 3;
- break;
- default: // 如果station大于10,则执行default case
- cost = 4;
- break;
- }
-
- ...//这里和上述代码就一样了
-
- }
5.通过键入输入一个年份和月份,输出显示该月有多少天。(考虑润年情况)
- /*5.通过键入输入一个年份和月份,输出显示该月有多少天。(考虑润年情况)*/
-
- #include <stdio.h>
-
- int main(void)
- {
- int year,month;
-
- printf("请输入年份:");
- scanf("%d",&year);
-
- printf("请输入月份:");
- scanf("%d",&month);
-
- //判断月份天数
- if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
- {
- printf("%d月份有31天\n",month);
- }
- else if(month == 4 || month == 6 || month == 9 || month == 11)
- {
- printf("%d月份有30天\n",month);
- }
- else if(month == 2)
- {
- //判断是否为润年
- if(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
- {
- printf("%d月有29天\n",month);
- }
- else
- {
- printf("%d月有28天\n",month);
- }
- }
-
- else
- {
- printf("输入的月份不合法!\n");
- }
-
- return 0;
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。