当前位置:   article > 正文

C语言—简单的if语句

C语言—简单的if语句

1.输入你的身高和体重,测试你的健康状况。
           计算bmi的值,
                    bmi = (体重/身高的平方)
                  如果bmi 小于18.5,则显示“偏瘦,注意加强营养”
                  如果bmi 在18.5和23.9之间,则显示“体重指数良好,注意保持”
                  如果bmi值大于23.9 ,则显示“你有点偏胖,注意锻炼”

  1. /*1.输入你的身高和体重,测试你的健康状况.*/
  2. #include <stdio.h>
  3. int main(void)
  4. {
  5. float height,weight;
  6. printf("请输入您的身高(m):");
  7. scanf("%f",&height);
  8. printf("请输入您的体重(kg):");
  9. scanf("%f",&weight);
  10. float bmi = weight / (height * height);
  11. if(weight <= 0 || height <= 0)
  12. {
  13. printf("身高和体重必须为正数,请重新输入\n");
  14. return 1;
  15. }
  16. if(bmi < 18.5)
  17. {
  18. printf("偏瘦,注意加强营养\n");
  19. }
  20. else if(18.5 <= bmi && bmi <= 23.9)
  21. {
  22. printf("体重指数良好,注意保持\n");
  23. }
  24. else
  25. {
  26. printf("你有点偏胖,注意锻炼\n");
  27. }
  28. return 0;
  29. }


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元 。
     “阶梯式电价”机制可有效地抑制电力浪费现象,引导居民节约用电,合理用电,比纯粹“口号倡导型”
     节约用电更加有效。
      编写一个程序根据输入的用电量,计算电费。

  1. /*2.编写一个程序根据输入的用电量,计算电费。*/
  2. #include <stdio.h>
  3. int main(void)
  4. {
  5. float usage,cost = 0;
  6. printf("请输入四月份用电量(单位:千瓦时):");
  7. scanf("%f",&usage);
  8. if(usage < 0)
  9. {
  10. printf("用电量不可以是负数,请重新输入!");
  11. return 1;
  12. }
  13. if(usage <= 50)
  14. {
  15. cost = usage * 0.538;
  16. }
  17. else if(usage <= 200)
  18. {
  19. cost = (usage - 50) * 0.568 + 50 * 0.538;
  20. }
  21. else
  22. {
  23. cost = (usage - 200) * 0.638 + 150 * 0.568 + 50 * 0.538;
  24. }
  25. printf("四月份的电费为:%.2f元\n",cost);
  26. return 0;
  27. }


 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改了)

  1. /* 3.设计一个计算个人所得税的软件
  2.   应纳税所得额 = 工资收入金额 - 各项社会保险费 - 起征点(5000元)
  3. 应纳税额 = 应纳税所得额 x 税率 - 速算扣除数 */
  4. #include <stdio.h>
  5. int main(void)
  6. {
  7. float salary,social_secuity,tax_income,tax; //定义变量工资,社保费用,应纳所得税,应纳税额
  8. printf("请输入您的工资总额(元):");
  9. scanf("%f",&salary);
  10. printf("请输入您的社保费用(元):");
  11. scanf("%f",&social_secuity);
  12. if(salary <= 0 || social_secuity < 0)
  13. {
  14. printf("请输入正确的数值!");
  15. return 1;
  16. }
  17. //计算应纳所得额 //应纳税所得额 = 工资收入金额 - 社保费用 - 起征点(5000元)
  18. tax_income = salary - social_secuity - 5000;
  19. if(tax_income <= 0)
  20. {
  21. tax = 0;
  22. }
  23. else if(tax_income <= 12000)
  24. {
  25. tax = tax_income * 0.10 - 252; // 应纳税额 = 应纳税所得额 x 税率 - 速算扣除数
  26. }
  27. else if(tax_income <= 25000)
  28. {
  29. tax = tax_income * 0.20 - 1692; //重复分支语句
  30. }
  31. else if(tax_income <= 35000)
  32. {
  33. tax = tax_income * 0.25 - 3192;
  34. }
  35. else if(tax <= 55000)
  36. {
  37. tax = tax_income * 0.30 - 5292;
  38. }
  39. else if(tax <= 80000)
  40. {
  41. tax = tax_income * 0.35 - 8592;
  42. }
  43. else
  44. {
  45. tax =tax_income * 0.45 - 18192;
  46. }
  47. if(tax < 0)
  48. {
  49. tax = 0; //tax应纳税额不应为负值
  50. }
  51. printf("您的应纳税额为:%.2f元\n",tax); //定义是float,返回也应该是%f
  52. return 0;
  53. }

4.设计TVM(地铁自动售票机)机软件。
       输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。
       输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别面额:      
100,50,20,10,5,1

当然前面if站数的花费也可以使用switch ... case语句

一步步找零,由大到小的找零

  1. /*4.设计TVM(地铁自动售票机)机软件。
  2.   输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。
  3.  输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别面额:100,50,20,10,5,1 */
  4. #include <stdio.h>
  5. int main(void)
  6. {
  7. int stations,payfor,cost;
  8. printf("请输入您要做的站数:");
  9. scanf("%d",&stations);
  10. printf("请输入您付的钱数:");
  11. scanf("%d",&payfor);
  12. if(stations <= 0)
  13. {
  14. printf("站数必须大于等于1,请重新输入正确的站数!");
  15. return 1;
  16. }
  17. else if(stations <= 6)
  18. {
  19. cost = 2;
  20. }
  21. else if(7 <= stations && stations <= 10)
  22. {
  23. cost = 3;
  24. }
  25. else
  26. {
  27. cost = 4;
  28. }
  29. //找钱
  30. int nhand = 0,nfifty = 0,ntwenty = 0,nten = 0,nfive = 0, none =0;
  31. int payback = payfor - cost;
  32. //由大到小的找钱循环嵌套
  33. if(payback > 0)
  34. {
  35. nhand = payback / 100;
  36. payback = payback - nhand * 100;
  37. if(payback > 0)
  38. {
  39. nfifty = payback /50;
  40. payback = payback - nfifty * 50;
  41. if(payback > 0)
  42. {
  43. ntwenty = payback / 20;
  44. payback = payback - ntwenty *20;
  45. if(payback > 0)
  46. {
  47. nten = payback / 10;
  48. payback = payback - nten * 10;
  49. if(payback > 0)
  50. {
  51. nfive = payback / 5;
  52. payback = payback - nfive * 5;
  53. if(payback > 0)
  54. {
  55. none = payback;
  56. }
  57. }
  58. }
  59. }
  60. }
  61. }
  62. printf("%d张100元,%d张50元,%d张20元,%d张10元,%d张5元,%d张1元\n",nhand,nfifty,ntwenty,nten,nfive,none);
  63. return 0;
  64. }

当然这里的站数的花费也可以使用sitch ... case语句,只是展示一下

  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int station, payfor, cost;
  5. scanf("%d%d", &station, &payfor);
  6. if (station <= 0)
  7. {
  8. printf("站数必须大于等于1,请重新输入正确的站数!\n");
  9. return 1;
  10. }
  11. switch (station)
  12. {
  13. case 6:
  14. cost = 2;
  15. break;
  16. case 7:
  17. case 8:
  18. case 9:
  19. case 10:
  20. cost = 3;
  21. break;
  22. default: // 如果station大于10,则执行default case
  23. cost = 4;
  24. break;
  25. }
  26. ...//这里和上述代码就一样了
  27. }

5.通过键入输入一个年份和月份,输出显示该月有多少天。(考虑润年情况)

  1. /*5.通过键入输入一个年份和月份,输出显示该月有多少天。(考虑润年情况)*/
  2. #include <stdio.h>
  3. int main(void)
  4. {
  5. int year,month;
  6. printf("请输入年份:");
  7. scanf("%d",&year);
  8. printf("请输入月份:");
  9. scanf("%d",&month);
  10. //判断月份天数
  11. if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
  12. {
  13. printf("%d月份有31天\n",month);
  14. }
  15. else if(month == 4 || month == 6 || month == 9 || month == 11)
  16. {
  17. printf("%d月份有30天\n",month);
  18. }
  19. else if(month == 2)
  20. {
  21. //判断是否为润年
  22. if(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
  23. {
  24. printf("%d月有29天\n",month);
  25. }
  26. else
  27. {
  28. printf("%d月有28天\n",month);
  29. }
  30. }
  31. else
  32. {
  33. printf("输入的月份不合法!\n");
  34. }
  35. return 0;
  36. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/94889
推荐阅读
相关标签
  

闽ICP备14008679号