C语言—简单的if语句

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

C语言—简单的if语句_第1张图片

/*1.输入你的身高和体重,测试你的健康状况.*/

#include 

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

C语言—简单的if语句_第2张图片

/*2.编写一个程序根据输入的用电量,计算电费。*/

#include 

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

C语言—简单的if语句_第3张图片

/* 3.设计一个计算个人所得税的软件
  应纳税所得额 = 工资收入金额 - 各项社会保险费 - 起征点(5000元)
  应纳税额 = 应纳税所得额 x 税率 - 速算扣除数 */

#include 

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语句

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

C语言—简单的if语句_第4张图片

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

#include 

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 

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.通过键入输入一个年份和月份,输出显示该月有多少天。(考虑润年情况)

C语言—简单的if语句_第5张图片

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

#include 

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;

}

你可能感兴趣的:(c语言,开发语言)