c1-周考2

news2024/10/6 22:31:15

c1-第二周

  • 9月-技能
    • 1.一个岛上有两种神奇动物,其中神奇鸟类2个头3只脚,神奇兽类3个头8只脚。游客在浓雾中看到一群动物,共看到35个头和110只脚,求可能的鸟类和兽类的只数
    • 2.构建一个长度为5的数组,并且实现下列要求
    • 3.构建一个结构体student,要求成员有
  • 10月-技能
    • 1.排序
    • 2.编程实现以下功能:
    • 3.有三个学生组队参加某比赛,每个学生信息包含准考证号,姓名,个人成绩,另团队有一总成绩。编写主程序模拟生成三个学生给其赋值、完成相关信息的输出。
  • 12月-技能
    • 1.编写程序,从键盘上输入三个整数,找出最大值,找出最小值,实现由小到大排序
    • 2.判断是否存在一个三位数abc,满足abc=(a*a+b*b+c*c)*3,若存在则输出abc,不存在则提示不存在
    • 3.输出一个1,两个2,三个3···九个9排列成的上小下大的金字塔
    • 4.由键盘任意输入3个整数a、b、c做边长,判断能否组成一个三角形(三角形要求任意两边的和大于第三边),若可以组成三角形,判断是否可以组成直角三角形(直角三角形是某两边的平方和等于第三边的平方)
    • 5.完成注册与登录功能:
  • 1月-技能
    • 1.编写程序,求和sum=2^0+2^1+2^2+...2^n,sum>10000时停止,并输出最后一项
    • 2.求e=1+1/1!+1/2!+1/3!+...的结果,要求最后一项小于0.000001时停止,并输出最后一项阶乘表示的值
    • 3.编程实现输入月份(1-12),电脑输出季节
    • 4.求PI值,PI/4 = 1  - 1/3 + 1/5 - 1/7 + ...,精度要求1e-6'
    • 5.编程实现以下功能:
  • 2月-技能
    • 1.编写程序,求s的值
    • 2.求s的值,s=1+1/(1+2)+ 1/(1+2+3)+ 1/(1+2+3+4)+1/(1+2+3+4+..n)
    • 3.编程实现输入大写字母,输出对应的小写字母
    • 4.有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏:
  • 11月-技能
    • 3.编程实现超市购物结算系统:

9月-技能

1.一个岛上有两种神奇动物,其中神奇鸟类2个头3只脚,神奇兽类3个头8只脚。游客在浓雾中看到一群动物,共看到35个头和110只脚,求可能的鸟类和兽类的只数

要求1:main函数中,头和脚的数量(35,110)通过键盘输入
要求2:合理使用for循环
要求3:输出计算后的结果
要求4:有合理注释

void week2_9_1(){
    int tou,jiao;
    cin >> tou >>jiao;
    for(int i = 0;i<=tou;i++){ //鸟
        for(int j = 0;j<=tou;j++){ //兽
            if(2*i+3*j == tou && i*3+j*8 == jiao){
                cout << i << " " << j << endl;
            }
        }
    }
}

2.构建一个长度为5的数组,并且实现下列要求

要求1:从键盘依次输入5个正整数,并显示一次初始顺序
要求2:按照数字从大到小的顺序重新排列其顺序。
方法1:调用函数,直接传值交换法
方法2:调用函数,传指针交换法
要求3:输出排列后的顺序

void sort1(int arr[],int size){
    for(int i = 0;i<5;i++){
        for(int j = 0;j<5-i-1;j++){
            if(arr[j] > arr[j+1]){
                int temp = arr[j]; //值交换位置
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

    for(int i = 0;i<5;i++){
        cout << arr[i] << endl;
    }
}


void sort2(int *p,int size){
    for(int i = 0;i<5;i++){
        for(int j = 0;j<5-i-1;j++){
            if(p[j] < p[j+1]){
                int temp = p[j]; //指针换位置
                p[j] = p[j+1];
                p[j+1] = temp;
            }
        }
    }

    for(int i = 0;i<5;i++){
        cout << p[i] << endl;
    }
}

int main(){
    int arr1[] = {2,3,5,6,8};
    sort1(arr1,5);
    
    int *p =arr1;
    sort2(p,5);
}

3.构建一个结构体student,要求成员有

①长度20的char型数组 (name)
②int型常量(stu_num)
③长度2的char型数组(sex)
依据该结构,初始化两个同结构不同名的实体,并打印其信息

struct student{
    char name[20];
    const int stu_num = 1; //常量
    char sex[2];
};


int main() {
    student stu1 ={{'a','c','b'},1,{'a','b'}};
    cout << stu1.name <<endl;
    cout << stu1.stu_num << endl;
    for(int i = 0;i<2;i++){
        cout<< stu1.sex[i]<< endl;
    }

    student stu2 = {}; //这里自己补齐,同上

 }

在这里插入图片描述

10月-技能

1.排序

在这里插入图片描述
按照商品价格降序输出商品信息

struct Goods {//定义结构体
	int id;
    string name;
    int price;
    int number;
};

//重写排序方式
bool compare(Goods g1,Goods g2){
    return g1.price > g2.price; //我要按照价钱排序
}

int main(){
    Goods arr[4]={
            {1,"手机",2000,1},
                  {2,"电脑",5000,3},
                  {3,"水杯",500,6},
                  {4,"椅子",10000,9}
    };
    sort(arr,arr+4, compare); //排序
    for(int i = 0;i<4;i++){
        cout << arr[i].id <<"   "  << arr[i].name <<"   "<< arr[i].price <<"   "<< arr[i].number <<"   "<< endl;
    }
}

在这里插入图片描述

2.编程实现以下功能:

(1)定义函数mySort,实现对接收过来的一组数据进行升序排序,参数使用数组
(2)定义函数myPrint,实现对接收过来的一组数据进行输出,参数使用指针
(3)主函数中:
定义数组保存学生的成绩
输入学生人数n,
输入n个学生的成绩
调用函数mySort,实现对成绩升序排序
调用函数myPrint,实现打印输出排序后的数琚

void mySort(int arr[],int size){
    sort(arr,arr+size); //排序
}

//(2)定义函数myPrint,实现对接收过来的一组数据进行输出,参数使用指针
void myPrint(int arr[],int size){
    int *p = arr;
    for(int i = 0;i<size;i++){
        cout << *p << endl;
        p++;
    }
}
int main(){
    cout << "请输入学生的数量"<< endl;
    int n;
    cin >> n;
    int *arr = new int[n]; //动态数组
    for(int i = 0;i<n;i++){
        cin >> arr[i];
    }
    mySort(arr,n); //排序
    myPrint(arr,n); //打印
}

3.有三个学生组队参加某比赛,每个学生信息包含准考证号,姓名,个人成绩,另团队有一总成绩。编写主程序模拟生成三个学生给其赋值、完成相关信息的输出。

定义学生类Student
私有数据成员:学生准考证号(exam_number),学生姓名(stu_name ) 
公有数据成员:团队成绩 (team_grade)
公有成员函数:ScanStuInfo函数实现功能为输入三个学生的姓名和准考证号,输				 入团队成绩
			 PrintStuInfo函数实现输出所有学生信息以及团队成绩
主函数中创建一个Student对象,分别调用两个成员函数,实现相应的效果
#include <iostream>
using namespace std;
//无参构造
class Student{
private: //私有
    int exam_number[3]; //号  1 2 3
    string stu_name[3]; //学生  zsb  shh  zj
public:
    int team_grade;//团队成绩
    void ScanStuInfo(){ //录入学生的成绩
        for(int i = 0;i<3;i++){
            cout <<"输入第"<<(i+1)<<"准考证号:";
            cin >> exam_number[i];
            cout <<"输入第"<<(i+1)<<"学生姓名:";
            cin >> stu_name[i] ;
        }
        cout <<"输入团队成绩:";
        cin >> team_grade;
    }
    void PrintStuInfo(){ //打印学生的信息
        for(int i = 0;i<3;i++){
            cout << "学生的号:" << exam_number[i] <<"  " << "学生的名字:" << stu_name[i] <<"  " <<endl;
        }
        cout << "团队成绩是:" << team_grade << endl;
    }
};
int main(){
    Student stu1; //创建对象,无参构造
    stu1.ScanStuInfo(); //用对象调用函数
    stu1.PrintStuInfo();
}

12月-技能

1.编写程序,从键盘上输入三个整数,找出最大值,找出最小值,实现由小到大排序

大佬自己补齐,你可以的~~~~

2.判断是否存在一个三位数abc,满足abc=(aa+bb+c*c)*3,若存在则输出abc,不存在则提示不存在

void test12_2(){
    for(int abc=100;abc<=999;abc++){
        int a = abc/100%10;
        int b = abc/10%10;
        int c = abc%10;
        if((a*a+b*b+c*c)*3== abc){
            cout << abc << endl;
        }
    }
}
答案:267

3.输出一个1,两个2,三个3···九个9排列成的上小下大的金字塔

void test12_3(){
    for(int i = 1;i<=9;i++){
        for(int k = 9;k>=i;k--){
            cout << " ";
        }
        for(int j = 1;j<=i;j++){
            cout << i << " " ;
        }
        cout << endl;
    }
}

4.由键盘任意输入3个整数a、b、c做边长,判断能否组成一个三角形(三角形要求任意两边的和大于第三边),若可以组成三角形,判断是否可以组成直角三角形(直角三角形是某两边的平方和等于第三边的平方)

void test12_4(){
    int a,b,c;
    cin >> a >> b>> c;
    if(a+b > c && a+c > b && b+c>a){

        if(a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b){
            cout << "是直角三角形" << endl;
        } else
        {
            cout << "是三角形" << endl;
        }
    } else{
        cout << "不是三角形" << endl;
    }
}

5.完成注册与登录功能:

完成注册功能:要求用户名输入账号a1,密码k1。
完成登录功能:如果用户名输入账号a2和注册账号a1一致,密码k2与k1一致,提示登陆成功。
否则提示“输入错误,请重新输入!您还有*次机会”。
三次输入错误后将无法再输入,提示“对不起,你的账号已被锁定!”

void test12_5(){
    cout << "请输入注册信息:" << endl;
    string name,pwd;
    cin >> name >> pwd;
    string name1,pwd1; //登录
    int error_num =0; //错误次数

    while (true){ //死循环
        cout << "请输入登录信息:" << endl;
        cin >> name1 >> pwd1;
        if(name == name1 && pwd == pwd1){
            cout << "登录成功" << endl;
            break;
        } else{
            error_num++; //1
            cout << "输入错误,请重新输入!您还有" << 3-error_num <<"次机会" << endl;
            if(error_num >= 3){
                cout<< "对不起,你的账号已被锁定!" << endl;
                break;
            }
        }
    }
}

1月-技能

1.编写程序,求和sum=20+21+22+…2n,sum>10000时停止,并输出最后一项

的2^n中n的值是多少 !阶乘 ^平方

void month1_1(){
    int sum = 0;
    for(int n = 0;;n++){
        sum += pow(2,n); //pow用平算平方
        if(sum>10000){
            cout << n << endl;
            break;
        }
    }
    cout << sum << endl;
}

2.求e=1+1/1!+1/2!+1/3!+…的结果,要求最后一项小于0.000001时停止,并输出最后一项阶乘表示的值

void month1_2(){
    double e = 1;
    double sum = 1;
    for(int i = 1;;i++){
        sum*=i; //阶乘1*1   1*1*2  1*1*2*3
        e+=(1/sum);
        if(1/sum < 0.000001){
            cout << "数字是"<< i <<"阶乘:" << sum << endl;
            break;
        }
    }
}

3.编程实现输入月份(1-12),电脑输出季节

春季为3、4、5月份,夏季为6、7、8月份,秋季为9、10、11月份,冬季为12、1、2月份, 例: 输入月份:12 电脑输出:冬季

自己来吧,着实有点简单了~~~是不是。。。。

4.求PI值,PI/4 = 1  - 1/3 + 1/5 - 1/7 + …,精度要求1e-6’

void month1_3(){
    double Pi = 0;  //1
    double f = 1; //用来换符号- +
    for(double i = 1;;i+=2){
        Pi+=f/i;
        f*=-1;
        if(1/i < 1e-6){
            break;
        }
    }
    cout << Pi*4 << endl;
}

5.编程实现以下功能:

(1)定义函数fsort,实现对接收的一组数据进行升序(由小到大)排序,参数使用数组
(2)定义函数frint,实现对接收的一组数据进行输出
(3)主函数中:
定义数组保存学生的成绩
输入学生的成绩
调用函数fsort,实现对成绩升序(由小到大)排序
调用函数fprint,实现打印输出排序后的数据

void fsort(int score[],int size){
    //排序
    sort(score,score+size);
}

//形参(名字任意)
void frint(int arr[],int size){
    //遍历
    for(int i = 0;i<size;i++){ //0 1 2 3 4
        cout << arr[i] <<endl;
    }
}

int main(){
    int score[5];
    cout << "输入学生的成绩:" << endl;
    for(int i = 0;i<5;i++){
        cin >> score[i];
    }
    fsort(score,5);
    //实参 (实际的参数)
    frint(score,5);
}

2月-技能

1.编写程序,求s的值

(1)编程实现s=2+4+6+8+…+m,要求m为偶数
(2)当s>=10000时停止
输出s最后的值

void testweek2_1(){
    int s;
    for(int m = 2;;m+=2){ //2 4 6 8
        s+=m;
        if(s>=10000){
            cout << m<< endl;
            break;
        }
    }
    cout << s<< endl;
}

2.求s的值,s=1+1/(1+2)+ 1/(1+2+3)+ 1/(1+2+3+4)+1/(1+2+3+4+…n)

(1)1/(1+2+3+4+…n)<1e-6(即0.000001)停止
(2)计算停止时n的值
(3)输出正确的结果s

void testweek2_2(){
    double s;
    double sum = 0; //1
    for(int n=1;;n++){
        sum+=n;
        s+=1/sum;
        if(1/sum<0.000001){
            cout << n << endl;
            break;
        }
    }
    cout << s << endl;
}

3.编程实现输入大写字母,输出对应的小写字母

(1)提示输入一个大写字母,输入错误则提示有误,请重新输入
(2)将输入大写转为对应的小写
(3)结果按格式 A-a 输出

void zfctest2(){
    char str3; //让用户输入一个字母
    cin >> str3;
    if(isupper(str3)){
        char c =tolower(str3);
        cout << str3 << "-" << c << endl;
    } else{
        cout << "重新输入" << endl;
    }
}

4.有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏:

(1)要求使用for循环实现
(2)要求使用数组保存每层所点灯数
(3)计算塔底灯数
(4)计算塔顶灯数
(5)第几层的灯数为48
(6)遍历输出每层灯数,要求由上至下输出
6. 命名规范,有注释。
7. 运行无错误 。

void dt2(){
    int m = 1; //假设第1层是1个
    int sum = 0; //计算7层有多少个灯塔
    for(int i =1;i<=7;i++){
        sum+=m;
        m*=2;
    }
    int a  = 381/sum; //得到塔顶3
    cout << "塔顶(第1层)是" << a << endl;
    for(int i = 2;i<=7;i++){
        a*=2;
        cout << "第"<<i << "层的灯是" << a <<"个" << endl;
    }
}

在这里插入图片描述

11月-技能

3.编程实现超市购物结算系统:

(1).某同学去超市买东西,结算时提示输入泡面的购买量、单价(5.5)
(2).提示输入面包的购买量、单价(6.5)
(3).提示输入火腿的购买量、单价(3)
(4).要求定义食品类Foods,公有成员包括名字name,数量number,价格price
(5).要求定义结算函数Balancing,结算当前食品价格

(6).定义函数Print输出所有购物的统计信息
(7).输出购买所有商品最终消费金额Total

float Total = 0; //总价


class Foods{
public:
    //属性
    string name; //名称
    int number; //数量
    float price; //单价

    Foods(string name,int number,float price)
    {
        this->name = name;
        this->price = price;
        this->number = number;
    }

    //行为
    void Balancing(){
        Total+=number*price;
        cout << "价钱:" <<number*price << endl;
        cout <<"总价"<< Total << endl;
    }

    void Print(){
        cout << "名称:" << name <<"数量:" << number << "单价:"<<price << endl;
    }

};

int main(){
    Foods mb("面包",4,5);
    mb.Print();
    mb.Balancing();

    Foods ht("火腿",2,3);
    ht.Print();
    ht.Balancing();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1494640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外包干了10天,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;2019年我通过校招踏入了南京一家软件公司&#xff0c;开始了我的职业生涯。那时的我&#xff0c;满怀热血和憧憬&#xff0c;期待着在这个行业中闯出一片天地。然而&#xff0c;随着时间的推移&#xff0c;我发现自己逐渐陷入…

Linux系统——SElinux

目录 前言 一、SELinux 的作用及权限管理机制 1.SELinux 的作用 1.1DAC 1.2MAC 1.3DAC 和 MAC 的对比 2.SELinux 基本概念 2.1主体&#xff08;Subject&#xff09; 2.2对象&#xff08;Object&#xff09; 2.3政策和规则&#xff08;Policy & Rule&#xff09;…

【牛客】VL65 状态机与时钟分频

描述 题目描述&#xff1a; 使用状态机实现时钟分频&#xff0c;要求对时钟进行四分频&#xff0c;占空比为0.25 信号示意图&#xff1a; clk为时钟 rst为低电平复位 clk_out 信号输出 Ps 本题题解是按照1000的状态转移进行的&#xff0c;不按照此状态进行&#xff0c;编译器…

小火星露谷管理器 如何一键安装模组

1 选择你喜欢的一键安装模组模板 有两种渠道获取一键安装模板&#xff1a; 通过管理器首页的新手上路按钮&#xff0c;获取sve或里奇赛德村的一键安装模板通过小火星露谷社区获取一键安装模板 1.1 小火星露谷管理器首页获取一键安装模板 管理器的首页有两个内置的一键安装模…

【Docker】提交Docker镜像改变(自定义Redis镜像)

查看某个容器发生改变(操作日志) docker diff redis A: 添加文件或目录(ADD)D:文件或者目录删除(DELETE)C:文件或者目录更改(CHANGE) 对更改的容器进行保存 我们平时使用镜像&#xff0c;会做一些自定义&#xff0c;比如配置文件的修改&#xff0c;数据的增删改等等有很多&…

Linux操作系统性能调优

Linux操作系统性能调优 前言: ​ Linux服务器运行了很多应用&#xff0c;在高负载下&#xff0c;服务器可能会出现性能瓶颈&#xff0c;例如CPU利用率过高、内存不足、磁盘I/O瓶颈等&#xff0c;从而导致系统卡顿&#xff0c;服务无法正常运行等问题。所以针对以上问题&#…

用ChatGPT计算植被归一化指数NDVI并出图的详细教程

用ChatGPT结合GIS计算植被归一化指数NDVI出图教程 用ENVI计算比较繁琐&#xff0c;如今AI的盛行&#xff0c;我们可以轻松解决计算问题&#xff0c;只需1一分钟变可以出图。 详细教学请看上方视频步骤。 更多ChatGPT教学内容请见&#xff1a;ChatGPT结合GIS&#xff1a;一分钟…

SpringCloud2023最新版本该如何进行组件选型?

前言 Developing distributed systems can be challenging. Complexity is moved from the application layer to the network layer and demands greater interaction between services. Making your code ‘cloud-native’ means dealing with 12-factor issues such as exte…

万赞提问:自动化测试的发展前景怎么样?

一个行业前景怎么样? 先看看市场需求。 下面是一部分自动化测试岗位的相关数据&#xff1a; 据统计&#xff0c;当前企业对自动化的需求已经接近一半左右了&#xff0c;请看下图&#xff1a; 自动化发展的前景如何&#xff0c;市场给出的薪资也是一个重要参考&#xff0c;来看…

Linux笔记--GCC

GCC编译器是Linux系统下最常用的CIC编译器&#xff0c;大部分Linux发行版中都会默认安装。GCC编译器通常以gcc指令的形式在终端中使用。 一.gcc指令 1.直接编译 创建a.c文件 #使用gcc对程序进行编译&#xff0c;默认得到可执行文件的文件名为a.out gcc [文件名].c gcc a.c .…

【框架学习 | 第一篇】一篇文章读懂MyBatis

文章目录 1.Mybatis介绍1.1Mybatis历史1.2Mybatis特点1.3与其他持久化框架对比1.4对象关系映射——ORM 2.搭建Mybatis2.1引入依赖2.2创建核心配置文件2.3创建表、实体类、mapper接口2.4创建映射文件2.4.1映射文件命名位置规则2.4.2编写映射文件2.4.3修改核心配置文件中映射文件…

智能驾驶规划控制理论学习06-基于优化的规划方法

目录 一、优化概念 1、一般优化问题 2、全局最优和局部最优 二、无约束优化 1、无约束优化概述 2、梯度方法 通用框架 线性搜索 回溯搜索 3、梯度下降 基本思想 实现流程 ​4、牛顿法 基本思想 实现流程 5、高斯牛顿法 6、LM法&#xff08;Le…

怎么判断晶振是否起振?晶振不起振该怎么办?

如果怀疑晶振不起振造成电路板上电不良&#xff0c;该如何进一步判定是晶振本身的不良呢?这一步的判定非常关键&#xff0c;因为若为晶振不振&#xff0c;就可以排除晶振与电路板不匹配造成电路板上电不良发生的假定。晶发电子以下介绍针对晶振单体判定的方法&#xff1a; 1.…

Python内置模块

目录 什么是模块 模块分类 通过模块创建者分类 系统内置模块 第三方模块 在线安装 离线安装 模块导入 math和random模块介绍 math模块 random模块 什么是模块 在我们编写程序时&#xff0c;需要导入包。例如随机数的产生&#xff0c;需要import random。import XXX&…

C++引入

引用不是新定义一个变量&#xff0c;而是给已经存在的变量取一个别名&#xff0c;编译器不会为了引用变量开辟内存空间&#xff0c;它和它引用的变量公用同一块内存空间。如李白被称为诗仙。李白和诗仙都是同一个人。 语法: 类型& 引用变量名(对象名)引用实体; 特性: 引用在…

一体化对账和结算平台的设计与实现

随着企业规模的扩大和业务的复杂化&#xff0c;对账和结算工作变得愈发繁琐和复杂。为了提高工作效率和降低错误率&#xff0c;许多企业开始寻求一体化对账和结算平台的解决方案。本文将探讨一体化对账和结算平台的设计原则和实施步骤&#xff0c;以及其在企业管理中的重要性。…

Canvas笔记04:绘制九大基本图形的方法,重头戏是贝塞尔曲线

hello&#xff0c;我是贝格前端工场&#xff0c;最近在学习canvas&#xff0c;分享一些canvas的一些知识点笔记&#xff0c;本期分享canvas绘制图形的知识&#xff0c;欢迎老铁们一同学习&#xff0c;欢迎关注&#xff0c;如有前端项目可以私信贝格。 Canvas是HTML5中的一个绘…

全方位碾压chatGPT4的全球最强模型Claude 3发布!速通指南在此!保姆级教学拿脚都能学会!

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…

HTML静态网页成品作业(HTML+CSS)——舞蹈网页设计制作(5个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码CSS部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有5个页面。 &#x1…

CogCaliperTool卡尺工具

CogCaliperTool(卡尺工具) CogCaliperTool&#xff08;卡尺工具&#xff09;是一种用于测量直线特征的工具。该工具通常用于检测图像中的边缘、轮廓或其他直线特征&#xff0c;并提供精确的测量数据&#xff0c;如长度、角度和位置信息。 比如说我们需要测量下图工具的边缘对…