嵌入式-2024.7.12作业

题目

1.从终端输入一个三位的整数。求个位十位百位的和。
2.输入三角形的边长,求面积。假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=vp(p-a)(p-b)(p-c),而公式里的p为半周长(周长的一半): p=(a+b+c)/2开根号的函数:sqrt(2);对2开根号。头文件:#include<math.h>gcc编译时候需要多加一个-lm,例如gcc 1.c -Im
3.从终端输入年份,要求判断是否是闰年。(能被4整除,但是不能被100整除,或者能被400整除)

4.输入年月日,判断是这—年的第几天?

5. int a=10, b=5, c=16;要求编写代码后a中存储5 b中存储10 c中存储16

6.将三个数从小到大依次存储到abc中,最后结果是a<b<c。数据可以从终端获取

解析:


1.从终端输入一个三位的整数。求个位十位百位的和。

#include<stdio.h>
int main(int argc,const char *argv[])
{
    int num;
    int gw,sw,bw;//gw为个位,sw为十位,bw为百位

    printf("请输入一个三位整数:\n");
    scanf("%d",&num);

    bw=num/100;
    sw=(num/10)%10;
    gw=num%10;
    sum=gw+sw+bw;

    printf("个位十位百位之和为:%d\n",sum);

    return 0;
}

结果为:

2.输入三角形的边长,求面积。假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=vp(p-a)(p-b)(p-c),而公式里的p为半周长(周长的一半): p=(a+b+c)/2开根号的函数:sqrt(2);对2开根号。头文件:#include<math.h>gcc编译时候需要多加一个-lm,例如gcc 1.c -Im

程序代码如下:

#include<stdio.h>
#include<math.h>
int main(int argc,const char *argv[])
{
    float a,b,c;
    float s;
    float p;

    pringf("请输入三角形的三条边a,b,c:\n");
    scanf(%f %f %f",&a,&b,&c);
    getchar();

    if(a+b>c && a+c>b && b+c>a)
    {

        p = (a+b+c)/2;
        s = sqrt(p*(p-a)*(p-b)*(p-c));

        printf("三角形的面积为:%f\n",s);
    }
    else
    {
        printf("a=%g b=%g c=%g 不能组成三角形\n",a,b,c);
    }

    return 0;
}

​

结果为:

3.从终端输入年份,要求判断是否是闰年。(能被4整除,但是不能被100整除,或者能被400整除)

程序代码:

​
#include<stdio.h>
int main(int argc,const char *argv[])
{
    int year;

    printf("请输入年份:\n");
    scanf("%d",&year);

//判断是否是闰年
    if((year%4  == 0 && year%100 != 0) || (year%400 == 0));
    {
        printf("是闰年\n");
    }
    else
    {
        printf("不是闰年\n");
    }

    return 0;
}

​

结果:

4.输入年月日,判断是这—年的第几天?

代码程序:

#include <stdio.h>
int main(int argc, const char *argv[])
{
    int day, month, year, sum;
    printf("请输入年 月 日:\n");
    scanf("%d%d%d", &year,&month,&day);
    switch (month) // 先计算某月以前月份的总天数 
     {
         case 1:                                             
             sum=0;
             break;
         case 2:
             sum=31;
             break;
         case 3:
             sum=59;
             break;
         case 4:
             sum=90;
             break;
         case 5:
             sum=120;
             break;
         case 6:
             sum=151;
             break;
         case 7:
             sum=181;
             break;
         case 8:
             sum=212;
             break;
         case 9:
             sum=243;
             break;
         case 10:
             sum=273;
             break;
         case 11:
             sum=304;
             break;
         case 12:
             sum=334;
             break;
     default:
             printf("日期错误");
             break;
     }


     if (year%400==0||(year%4==0 && year%100!=0&&month>2))
      // 判断是不是闰年并且月份大于2 
      {
          sum = sum+day+1;
      }
      else
      {
         sum = sum+day;
      }
      printf("这是这一年的第 %d 天\n", sum);

       return 0;
}



结果为:

5. int a=10, b=5, c=16;要求编写代码后a中存储5 b中存储10 c中存储16

程序代码为:

​
#include<stdio.h>
int main(int argc,const char *argv[])
{
    int a=10,b=5,c=16;
    int x;
    if(a>b)
    {//三杯水交换
        x = a;
        a = b;
        b = x;
    }

    if(a>c)
    {//有溢出风险,题目没有规定的情况下,可继续使用三杯水交换
        a = a+c;
        c = a-c;
        a = a-c;
    }

    if(b>c)
    {
        x = b;
        b = c;
        c = x;
    }
        

    printf("a=%d b=%d c=%d\n",a,b,c);

    return 0;
}

​

结果为:

6.将三个数从小到大依次存储到abc中,最后结果是a<b<c。数据可以从终端获取

程序代码:

#include <stdio.h>
 int main(int argc, const char *argv[])
 {
 
     int a,b,c;
     printf("请输入三个整数:\n");
     scanf("%d %d %d",&a,&b,&c);
 
     if(a>b)
     {
         int h=a;
         a=b;
         b=h;
     }
 
     if(b>c)
     {
         int h = b;
         b = c;
         c = h;                        
     }
 
     if(a>b)
     {
         int h = a;
         a=b;
         b = h;
     }
 
     printf("a=%d,b=%d,c=%d\n",a,b,c);

     return 0;

}

结果:

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: openocd-20211118.7z是一个用于嵌入式系统开发的工具包。openocd是一个开源的(Open On-Chip Debugger)开发和调试工具,可以用于连接和调试各种嵌入式系统。这个包中的.7z文件是对openocd软件的最新版本20211118进行压缩的文件。 通过使用openocd,开发者可以通过调试接口(例如JTAG或SWD)与嵌入式芯片通信,对其进行调试和编程。它支持多种芯片架构,例如ARM、MIPS、RISC-V等,并且可以运行在多个操作系统上,如Windows、Linux和macOS。 这个.7z压缩文件包含了openocd软件的所有必要文件和资源,以方便用户进行安装和使用。用户可以通过解压这个文件,获取openocd软件的执行文件以及相关的配置文件、工具和示例代码。 通过openocd,开发者可以进行单步调试、断点设置、内存读写、寄存器查看等操作,还可以对芯片进行编程、烧录和擦除等操作。它提供了强大的调试功能,可以帮助开发者快速定位和解决嵌入式系统中的问题。 总而言之,openocd-20211118.7z是一个用于嵌入式系统开发和调试的工具包,通过解压这个文件,开发者可以获取最新版本的openocd软件及相关资源,方便进行嵌入式系统的调试和开发工作。 ### 回答2: openocd-20211118.7z是一个压缩文件,用于存储OpenOCD软件的安装包。OpenOCD是一款开源的调试和编程工具,主要用于与嵌入式系统中的调试器和处理器进行通信。它可以通过调试接口(如JTAG、SWD)与目标设备相连,并提供命令行工具和图形界面来进行调试操作。 openocd-20211118.7z文件包含了OpenOCD软件在2021年11月18日的版本。.7z是一种压缩文件格式,常用于压缩大型文件和文件夹。通过解压缩该文件,可以得到OpenOCD安装包的内容。 使用openocd-20211118.7z进行OpenOCD的安装可以通过以下步骤进行: 1. 首先,下载openocd-20211118.7z文件,并将其保存到本地计算机中。 2. 然后,使用压缩软件(如7-Zip、WinRAR等)将该文件解压缩到指定的目录。 3. 解压缩后,您将得到包含OpenOCD安装包的文件夹。 4. 进入该文件夹,根据您的操作系统选择正确的安装文件(如Windows、Linux等)。 5. 运行安装文件,并按照提示完成OpenOCD的安装过程。 6. 安装完成后,您可以在命令行终端或图形界面中运行OpenOCD,并与目标设备进行调试和编程操作。 总之,openocd-20211118.7z是OpenOCD软件2021年11月18日版本的安装包,通过解压缩和安装该文件,您可以使用OpenOCD进行嵌入式系统的调试和编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值