嵌入式初学-C语言-练习二

#针对于前六篇学习所出习题,题型内容均为本人敲写,若有不合理,或逻辑重复,请多多包涵,也请大家指点!!#

1、通过键盘输入一个年份,判断是不是润年,是显示“是润年”,否则显示“不是润年”

#include<stdio.h>

 int main()
{
 unsigned int years;

 printf("输入一个年份\n");
 scanf("%d",&years);

 printf(years % 4 == 0 && years % 100 != 0 ? "润年!\n":"平年!\n");

 return 0;
}


2、一瓶矿泉水500ml,输入水的体积,计算能装多少瓶?

#include<stdio.h>
#include<math.h>
 int main()
{
  double water;

 printf("输入水的体积:");

 scanf("%lf",&water);

 int bottle = (ceil) (water * 1000 / 500);
 printf("可以装:%d瓶\n",bottle);

 return 0;
}


3、给出租车做一计费软件。输入公里数,输出乘车费用。起步3KM,10元,以后每公里2元。不足一公里按一公里算。
 

#include <stdio.h>
#include <math.h>

int main()
{
    double a;
    double b;
    printf("请输入公里数:\n");
    scanf("%lf",&a);
    if(a > 0 && a <= 3)
    {
        printf("%.2f\n",b = 10);
    }
    else if(a > 3)
    {
        printf("您的乘车费用为:%.2f\n",b = 10 +2 * ceil(a - 3));
    }
    else
    {
        printf("请输入正确的公里数!!");
    }
    return 0;
}

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

#include<stdio.h>

int main()
{
    double kg,m  ;
    printf("输入您的体重:\n"); //输入一个千克为单位的数字

    scanf("%lf",&kg);
    printf("输入您的身高:\n"); //输入一个米为单位的数字

    scanf("%lf",&m);

    double BMI = kg / (m*m);  //定义BMI值为体重除以身高的平方
    printf("BMI值为:%.2f\n",BMI);  //输出BMI值并保留两位小数

    if(BMI < 18.5)
    {
        printf("偏瘦,注意加强营养\n");
    }
    else if(BMI < 23.9 && BMI > 18.5)
    {
        printf("体重指数良好,注意保持\n");
    }
    else if(BMI > 23.9)
    {
        printf("你有点偏胖,注意锻炼\n");
    }
     return 0;
}

5.编写一个程序根据输入的用电量,计算电费。月用电量低于50千瓦时部分,电价不调整,仍为0.538元/千瓦时;51~200千瓦时部分, 单价为0.568元/千瓦时;超过200千瓦时部分,电价为0.638元/千瓦时。

#include <stdio.h>

int main()
{
  double a;

  printf("请输入电量\n");
  scanf("%lf",&a);


  if(a <= 50)
  {
    printf("您的电费为:%f\n",a*0.538);
  }
  else if(a >= 51 && a <=200)
  {
    printf("您的电费为:%f\n",a*0.538 + (a-50)*0.568);
  }
  else
  {
    printf("您的电费为:%f\n",a*0.538 + (a-200)*0.638);
  }

  return 0;
}

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

#这里社会保险费为100,税率为0.02,速算扣除数100#

include <stdio.h>

int main()
{
    unsigned double a;
    printf("请输入您的工资收入金额:");

    scanf("%lf",&a);
    unsigned double c = 100;
    unsigned double b = a - c - 3500;
    printf("您的应纳税所得额为:%f\n",b);

    unsigned double d = b * 0.02 - 100;
    printf("您的应纳税额为:%f\n",d);

    return 0;
}

7..设计TVM(地铁自动售票机)机软件。

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

#include <stdio.h>

int main()
{
    int station = 0;  //公交站数
    int money = 0;    //钱数
    int a = 0,b = 0,c = 0,d = 0,e = 0,f = 0;   //100~1的面额张数

    printf("请输入站数和支付金额\n");
    scanf("%d%d",&station,&money);

    //校验我们乘坐站数对应的支付金额
    if(station > 0 && stasion <= 6)
    {
        money = money - 2;
    }
    else if(station >= 7 && station <= 10)
    {
        money -= 3;
    }
    else if(station > 10)
    {
        monry -= 4;
    }
    //创建一个变量记录找零的总数
    int total_money = money;
    //计算找零各个面额张数
    a = money / 100; money -= a * 100;
    b = money / 50; money -= b * 50;
    c = money / 20; money -= c * 20;
    d = money / 10; money -= d * 10;
    e = money / 5; money -= e * 5;
    f = money / 1; money -= f * 1;
    //输出
    printf("找回的总金额是:%d\n");
    printf("金额分别是:%d张100元\n,%d张50元,%d张20元,%d张10元,")



    return 0;
}

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学习51单片机和C语言编程,可以帮助我们更深入地理解嵌入系统的原理和工作方。对于初学者来说,掌握一份适合自己的学习资料非常重要。 要学习51单片机-C语言版,可以阅读《手把手教你学51单片机-C语言版pdf》这本电子书,这本书内容丰富,讲解详细,配合实例编程,非常适合初学者自学。以下是学习本书的几个关键点: 第一,掌握基本的硬件知识,包括单片机的结构和特性,尤其是各种寄存器的作用和配置方法。 第二,了解C语言编程基础,尤其是语法、数据类型、运算符、控制结构、函数等,这是编写单片机程序的基础。 第三,通过实例编程加强对知识的理解和运用能力。例如,可以尝试写一些简单的IO控制、定时器中断、串口通讯等程序。 第四,可以搭配相应的开发板和开发环境进行实践学习。例如,可以使用STC89C51开发板和Keil或SDCC开发环境。 总之,《手把手教你学51单片机-C语言版pdf》这本电子书是一个不错的学习资料,但也需要具备一定的基础知识和耐心,可以结合其他资料和实践不断提高自己的能力。 ### 回答2: 学习51单片机-c语言版, 需要基础的C语言编程知识。在学习前,先要熟悉C语言的数据类型、循环、判断及函数等语法结构,并掌握C语言的编写方法。 在学习51单片机-c语言版之前,需要准备好学习环境,如下载并安装Keil软件, 安装并关联好相应的单片机模拟器。Keil软件中有类似于记事本的编辑窗口用来编写C语言代码, 以及编译,调试和下载程序到单片机等功能。 在学习时,可以选择一些简单的例程开始学习,逐步理解其代码逻辑,了解基本的寄存器操作和中断等知识。可以从LED灯等简单的实验开始,逐渐增加难度和功能的复杂度。 同时,可以参考一些权威的学习资料如《单片机原理与应用》、《51单片机学习与应用》等相关书籍,或结合网络资源进行学习。在学习过程中,需要勤加练习,多编写代码进行实践,同时多与他人交流学习体会和技术问题。通过坚持不断的学习和练习,便可以逐步掌握51单片机-c语言版编程技巧,提高自己的单片机应用开发能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值