Chapter3:结构化程序设计

news2025/2/11 8:36:50

参考书籍:《C#边做边学》;



3.结构化程序设计
3.1 结构化程序设计的3种基本结构
  • 顺序结构:先执行 A {\rm A} A语句,再执行 B {\rm B} B语句,两者是顺序执行的关系;

  • 选择结构:根据所定选择条件为真与否,决定从各个不同的操作分支中执行某一分支的相应操作,常用的选择结构有条件语句和分支语句;

  • 条件语句:

    • i f {\rm if} if语句:基于布尔表达式的值来判定是否执行后面的内嵌语句块;

      // if语句语法格式:
      if(表达式)
      {
          语句块;
      }
      
      // 解释:
      // 如果表达式值为真,则执行大括号里面的语句块;
      // 如果表达式值为假,则不执行大括号里面的语句块,再执行程序中的后一条语句;
      
    • i f − e l s e {\rm if-else} ifelse语句:

      // if-else语句语法格式:
      if(表达式)
      {
          语句1;
      }
      else
      {
          语句2;
      }
      
      // 解释:
      // 如果表达式值为真,则执行if后大括号里面的语句块1;
      // 如果表达式值为假,则执行else后大括号里面的语句块2,再执行程序中的后一条语句;
      
      // if-else语句嵌套:
      if(表达式1)
      {
          if(表达式2)
          {
              if(表达式3)
              {
                  语句1;
              }
              else
              {
                  语句2;
              }
          }
          else
          {
              语句3;
          }
      }
      else
      {
          语句4;
      }
      
    • e l s e   i f {\rm else\ if} else if语句

      // else if语句语法格式:
      if(表达式1)
      {
          语句1;
      }
      else if(表达式2)
      {
          语句2;
      }
      else if(表达式3)
      {
          语句3;
      }
      ...
      else if(表达式n-1)
      {
          语句n-1;
      }
      else
      {
          语句n;
      }
      
  • 分支语句:

    // 分支语句switch语法格式:
    switch(表达式)
    {
        case 常量表达式1:
            语句1;
            break;
        case 常量表达式2:
            语句2;
            break;
        ...
        case 常量表达式n;
            语句n;
            break;
        default:
            语句n+1;
            break;
    }
    
    // 解释:
    // 1.计算switch后表达式的值;
    // 2.若case后的常量表达式等于switch后表达式的值,则执行该case后的语句;
    // 3.若switch后表达式的值与任何一个case后的常量表达式的值都不等,则执行default后的语句;
    
  • 标签语句:

    // 标签语句用于配合goto语句完成程序的跳转功能,语法格式:
    // 标签名称:语句
    if (x>0)
    {
        goto large;
        x = -x;
    }
    large:return x;
    
3.2 基本结构示例
3.2.1 if相关结构示例
// CH03_01.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_01
{
    class CH03_01
    {
        static void Main(string[] args)
        {
            // 定义一个整数变量并赋值
            int iNumber = 10;

            // 使用if结构进行条件判断
            if (iNumber > 0)
            {
                Console.WriteLine("此数字大于0.");
            }
            else if (iNumber < 0)
            {
                Console.WriteLine("此数字小于0.");
            }
            else
            {
                Console.WriteLine("此数字等于0.");
            }

            // 使用嵌套if结构:检查一个数字是正数且大于5;
            if (iNumber > 0)
            {
                if (iNumber > 5)
                {
                    Console.WriteLine("此数字是正数,且大于5.");
                }
                else
                {
                    Console.WriteLine("此数字是正数,但不大于5.");
                }
            }

            // 等待用户输入以避免程序立即退出
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
    }
}
3.2.2 switch结构示例
// CH03_02.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_02
{
    class CH03_02
    {
        static void Main(string[] args)
        {
            // 定义一个整数变量并赋值
            int day = 3;

            // 使用switch结构进行条件判断
            switch (day)
            {
                case 1:
                    Console.WriteLine("Today is Monday.");
                    break;
                case 2:
                    Console.WriteLine("Today is Tuesday.");
                    break;
                case 3:
                    Console.WriteLine("Today is Wednesday.");
                    break;
                case 4:
                    Console.WriteLine("Today is Thursday.");
                    break;
                case 5:
                    Console.WriteLine("Today is Friday.");
                    break;
                case 6:
                    Console.WriteLine("Today is Saturday.");
                    break;
                case 7:
                    Console.WriteLine("Today is Sunday.");
                    break;
                default:
                    Console.WriteLine("Invalid day.");
                    break;
            }

            // 等待用户输入以避免程序立即退出
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
    }
}
// CH03_03.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_03
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("AGV控制指令(W:前进,A:左转,X:后退,D:右转,S:制动)");
            Console.WriteLine("请输入AGV控制指令:");

            char inputChar = Console.ReadKey().KeyChar;
            char processedChar = (char.IsControl(inputChar) || char.IsWhiteSpace(inputChar)) ? '\0' : char.ToUpper(inputChar);

            switch (processedChar)
            {
                case 'W':
                    Console.Write("\n");
                    Console.WriteLine("AGV正在向前运动...");
                    break;
                case 'A':
                    Console.Write("\n");
                    Console.WriteLine("AGV正在进行左转...");
                    break;
                case 'X':
                    Console.Write("\n");
                    Console.WriteLine("AGV正在向后运动...");
                    break;
                case 'D':
                    Console.Write("\n");
                    Console.WriteLine("AGV正在进行右转...");
                    break;
                case 'S':
                    Console.Write("\n");
                    Console.WriteLine("AGV正在进行制动...");
                    break;
            }

            Console.WriteLine("Press any key to close the program...");
            Console.ReadKey();
        }
    }
}
3.3 项目实战

项目需求: 设计一个程序,用于实现学生成绩的统计。

功能分析:

  • 依次接收班级每个学生的成绩;
  • 每接收一个成绩,依据要求进行统计汇总;

程序流程图分析:

1

代码实现:

// CH03_04.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_04
{
    class CH03_04
    {
        static void Main(string[] args)
        {
            /*
             * 定义变量:
             * iStudents:用于统计学生人数;
             * tempScore:接收每次输入成绩;
             * maxScore、minScore:最大成绩和最小成绩;
             */
            int iStudents = 0;
            int tempScore;
            int maxScore = 0, minScore = 0;
            // 统计各成绩区间内的人数;
            int score0To59 = 0, score60To69 = 0, score70To79 = 0, score80To89 = 0, score90To100 = 0;

            Console.WriteLine("--------学生成绩统计----------");
            Console.WriteLine("统计要求:学生成绩正确的区间为0~100,\n" + "        如果输入的成绩不在此区间中,可以选择退出统计!");
            Console.WriteLine();

        loop: Console.WriteLine("请输入学生成绩:");
            string strScore = Console.ReadLine();
            if (strScore == null)
            {
                return;
            }

            tempScore = int.Parse(strScore);

            if ((tempScore < 0) || (tempScore > 100))
            {
                Console.WriteLine("你输入的分数不对,选择是(Y)退出还是继续(N)");
                string strSelect = Console.ReadLine();

                if (strSelect == "N")
                {
                    goto loop;
                }
                else
                {
                    // 输出统计信息;
                    Console.WriteLine("--------学生成绩统计信息输出----------");
                    Console.WriteLine("全班共{0:d}人,其中最高成绩{1:f2}," + "最低成绩{2:f2}", iStudents, maxScore, minScore);
                    Console.WriteLine("成绩区间90~100的人数有{0:d}人," + "所占比例为:{1:f2}%", score90To100, score90To100 * 100 / iStudents);
                    Console.WriteLine("成绩区间80~89的人数有{0:d}人," + "所占比例为:{1:f2}%", score80To89, score80To89 * 100 / iStudents);
                    Console.WriteLine("成绩区间70~79的人数有{0:d}人," + "所占比例为:{1:f2}%", score70To79, score70To79 * 100 / iStudents);
                    Console.WriteLine("成绩区间60~69的人数有{0:d}人," + "所占比例为:{1:f2}%", score60To69, score60To69 * 100 / iStudents);
                    Console.WriteLine("成绩区间0~59的人数有{0:d}人," + "所占比例为:{1:f2}%", score0To59, score0To59 * 100 / iStudents);
                    Console.ReadLine();
                }
            }
            else
            {
                // 统计学生人数;
                iStudents++;
                if (iStudents == 1)
                {
                    maxScore = tempScore;
                    minScore = tempScore;
                }
                else
                {
                    // 修正最大与最小成绩;
                    if (maxScore < tempScore)
                    {
                        maxScore = tempScore;
                    }
                    if (minScore > tempScore)
                    {
                        minScore = tempScore;
                    }
                }
                // 接收成绩所在区间的人数;
                int temp = tempScore / 10;
                switch (temp)
                {
                    case 10:
                    case 9:
                        Console.WriteLine("成绩优秀");
                        score90To100++;
                        break;
                    case 8:
                        Console.WriteLine("成绩良好");
                        score80To89++;
                        break;
                    case 7:
                        Console.WriteLine("成绩中等");
                        score70To79++;
                        break;
                    case 6:
                        Console.WriteLine("成绩及格");
                        score60To69++;
                        break;
                    default:
                        Console.WriteLine("成绩不及格");
                        score0To59++;
                        break;
                }
            }
            goto loop;
        }
    }
}
3.4 循环结构
  • 循环结构:指在程序中从某处开始有规律地反复执行某一语句块的结构,把重复执行的语句块称为循环体;

  • w h i l e {\rm while} while语句语法:

    // while语句语法格式:
    while(条件表达式)
    {
        循环体;
    }
    
    // 解释:
    // 先判断条件表达式,如果值为true,则执行循环体;如果值为false,则不执行循环体;
    
  • d o − w h i l e {\rm do-while} dowhile语句语法:

    // do-while语句语法格式:
    do
    {
        循环体;
    }
    while(条件表达式);
    
    // 解释:
    // 先执行循环体,再对while语句后条件表达式判定,若值为true,则继续执行循环体;若为false,则退出循环;
    
  • f o r {\rm for} for语句语法:

    // for语句语法格式:
    for(表达式1;表达式2;表达式3)
    {
        循环体;
    }
    
    // 解释:
    // 1.计算表达式1的值;
    // 2.判定表达式2的值,若值为true,执行循环体的语句,求表达式3的值;若值为false,执行程序下一条语句;
    
  • f o r e a c h {\rm foreach} foreach语句语法:

    // foreach基础:
    // 1.foreach语句用于列举集合中的每一个元素,且通过执行循环体对每一个元素进行操作;
    // 2.foreach语句只能对集合中的元素进行循环操作;
    
    // foreach语句语法格式:
    foreach(数据类型 标识符 in 表达式)
    {
        循环体;
    }
    
3.5 循环结构基本示例
// CH03_06.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_05
{
    class CH03_05
    {
        static void Main(string[] args)
        {
            int sum = 0;            // 用于存储总和的变量
            int number;             // 用于存储用户输入的整数

            Console.WriteLine("请输入一个整数(输入负数停止):");

            // 使用while循环读取用户输入并计算总和
            while (true)
            {
                // 读取用户输入;
                string input = Console.ReadLine(); 

                // 尝试将输入转换为整数;
                bool isNumber = int.TryParse(input, out number); 

                if (!isNumber)          // 如果输入不是整数
                {
                    Console.WriteLine("输入无效,请输入一个整数。");
                }
                else if (number < 0)    // 如果输入的是负数
                {
                    break;              // 退出循环
                }
                else
                {
                    // 如果输入的是正整数或零,则将其加到总和中
                    sum += number;
                    Console.WriteLine("当前总和为:" + sum);
                }
            }

            // 循环结束后,输出最终的总和
            Console.WriteLine("最终总和为:" + sum);
        }
    }
}
// CH03_06.cs
// 需求:用户输入一个数字,并且只有在输入的数字是正数时才会停止循环;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_06
{
    class CH03_06
    {
        static void Main(string[] args)
        {
            int number;
            string input;

            do
            {
                Console.Write("请输入一个正数: ");
                input = Console.ReadLine();

                // 检查输入是否为有效的整数且为正数
                if (!int.TryParse(input, out number) || number <= 0)
                {
                    Console.WriteLine("输入无效,请输入一个正整数。");
                }

            } while (!int.TryParse(input, out number) || number <= 0);

            // 循环结束,输出用户输入的正数
            Console.WriteLine("您输入的正数是: " + number);
        }
    }
}
// CH03_07.cs
// 需求:从键盘输入一个数字,并使用for循环结构计算从1到这个数字的和;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_07
{
    class CH03_07
    {
        static void Main(string[] args)
        {
            int number;
            int sum = 0;

            // 提示用户输入一个数字
            Console.Write("请输入一个数字: ");

            // 尝试从键盘读取输入并转换为整数
            if (int.TryParse(Console.ReadLine(), out number))
            {
                // 使用for循环计算从1到输入数字的和
                for (int i = 1; i <= number; i++)
                {
                    sum += i;
                }

                // 输出结果
                Console.WriteLine("从1到{0}的和是: {1}", number, sum);
            }
            else
            {
                // 如果输入的不是有效的整数,输出错误信息
                Console.WriteLine("输入无效,请输入一个整数。");
            }
        }
    }
}
// CH03_08.cs
// 需求:遍历数组元素并输出,计算数组元素的和并输出;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_08
{
    class CH03_08
    {
        static void Main(string[] args)
        {
            // 创建一个整数数组
            int[] numbers = { 10, 25, 35, 40, 55 };

            // 用于存储总和的变量
            int sum = 0;

            // 使用foreach循环遍历数组中的每个元素
            foreach (int number in numbers)
            {
                Console.WriteLine("此时数组的值为:" + number);
                sum += number;         
            }

            // 输出总和
            Console.WriteLine("数组中所有元素的和是: " + sum);
        }
    }
}
3.6 项目实战

项目需求:实现一个用于学生成绩统计的程序。

功能分析:

  • 接收全班人数;
  • 依次接收班级每个学生的成绩;
  • 每接收一个成绩,依据要求进行统计汇总;

程序流程图分析:

2

代码实现:

// CH03_09.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CH03_09
{
    class CH03_09
    {
        private static int iStudents;

        static void Main(string[] args)
        {
            /*
             * 参数含义:
             * nStudents:用于统计学生人数;
             * tempScore:接收每次输入的成绩;
             * maxScore,minScore:成绩最大值、成绩最小值;
             */
            int nStudents;
            int tempScore;
            int maxScore = 0, minScore = 0;
            int score0To59 = 0, score60To69 = 0, score70To79 = 0, score80To89 = 0, score90To100 = 0;

            Console.WriteLine("--------学生成绩统计--------");
            Console.WriteLine("请输入班级人数:nStudents = ");

            string s = Console.ReadLine();
            nStudents = Int32.Parse(s);

            // 接收并处理学生成绩;
            for(int i = 1; i <= nStudents; i++)
            {
                Console.WriteLine("请输入第{0:d}个学生的成绩", i);
                tempScore = Int32.Parse(Console.ReadLine());

                if (i == 1)
                {
                    maxScore = tempScore;
                    minScore = tempScore;
                }
                else        // 最大成绩和最小成绩;
                {
                    if (maxScore < tempScore)
                    {
                        maxScore = tempScore;
                    }
                    if (minScore > tempScore)
                    {
                        minScore = tempScore;
                    }
                }

                int temp = tempScore / 10;

                // 统计各区间成绩的人数;
                switch (temp)
                {
                    case 10:
                    case 9:
                        Console.WriteLine("成绩优秀");
                        score90To100++;
                        break;
                    case 8:
                        Console.WriteLine("成绩良好");
                        score80To89++;
                        break;
                    case 7:
                        Console.WriteLine("成绩中等");
                        score70To79++;
                        break;
                    case 6:
                        Console.WriteLine("成绩及格");
                        score60To69++;
                        break;
                    default:
                        Console.WriteLine("成绩不及格");
                        score0To59++;
                        break;
                }
            }

            // 输出统计信息;
            Console.WriteLine("--------学生成绩统计信息输出----------");
            Console.WriteLine("全班共{0:d}人,其中最高成绩{1:f2}," + "最低成绩{2:f2}", nStudents, maxScore, minScore);
            Console.WriteLine("成绩区间90~100的人数有{0:d}人," + "所占比例为:{1:f2}%", score90To100, score90To100 * 100 / nStudents);
            Console.WriteLine("成绩区间80~89的人数有{0:d}人," + "所占比例为:{1:f2}%", score80To89, score80To89 * 100 / nStudents);
            Console.WriteLine("成绩区间70~79的人数有{0:d}人," + "所占比例为:{1:f2}%", score70To79, score70To79 * 100 / nStudents);
            Console.WriteLine("成绩区间60~69的人数有{0:d}人," + "所占比例为:{1:f2}%", score60To69, score60To69 * 100 / nStudents);
            Console.WriteLine("成绩区间0~59的人数有{0:d}人," + "所占比例为:{1:f2}%", score0To59, score0To59 * 100 / nStudents);
            Console.ReadLine();
        }
    }
}

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

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

相关文章

白话文实战Nacos(保姆级教程)

前言 上一篇博客 我们创建好了微服务项目,本篇博客来体验一下Nacos作为注册中心和配置中心的功能。 注册中心 如果我们启动了一个Nacos注册中心,那么微服务比如订单服务,启动后就可以连上注册中心把自己注册上去,这过程就是服务注册。每个微服务,比如商品服务都应该注册…

智能理解 PPT 内容,快速生成讲解视频

当我们想根据一版 PPT 制作出相对应的解锁视频时&#xff0c;从撰写解锁词&#xff0c;录制音频到剪辑视频&#xff0c;每一个环节都需要投入大量的时间和精力&#xff0c;本方案将依托于阿里云函数计算 FC 和百炼模型服务&#xff0c;实现从 PPT 到视频的全自动转换&#xff0…

IEC61850标准下的数据和数据模型服务的详细介绍

目录 一、摘要 二、概述 三、详细介绍 1、读服务器目录(GetServerDirectory) 2、读逻辑设备目录(GetLogicalDeviceDirectory) 3、读逻辑节点目录(GetLogicalNodeDirectory) 4、读全部数据值(GetAllDataValues) 5、读数据值(GetDataValues) 6、设置数据值(SetDataValues…

R语言LCMM多维度潜在类别模型流行病学研究:LCA、MM方法分析纵向数据

全文代码数据&#xff1a;https://tecdat.cn/?p39710 在数据分析领域&#xff0c;当我们面对一组数据时&#xff0c;通常会有已知的分组情况&#xff0c;比如不同的治疗组、性别组或种族组等&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 然而&#xff0c;…

5. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Nacos

一、什么是Nacos Nacos 是阿里巴巴开源的一款云原生应用基础设施&#xff0c;它旨在简化微服务架构中服务治理和配置管理的复杂性。通过 Nacos&#xff0c;服务在启动时可以自动注册&#xff0c;而其他服务则可以通过名称来查找并访问这些注册好的实例。同时&#xff0c;Nacos…

VUE项目中实现权限控制,菜单权限,按钮权限,接口权限,路由权限,操作权限,数据权限实现

VUE项目中实现权限控制&#xff0c;菜单权限&#xff0c;按钮权限&#xff0c;接口权限&#xff0c;路由权限&#xff0c;操作权限&#xff0c;数据权限实现 权限系统分类&#xff08;RBAC&#xff09;引言菜单权限按钮权限接口权限路由权限 菜单权限方案方案一&#xff1a;菜单…

【网络安全】服务器安装Docker及拉取镜像教程

文章目录 1. 安装 Docker2. 拉取镜像3. 运行 Ubuntu 容器4. 执行相关操作5. 退出并停止容器1. 安装 Docker # 更新软件包索引 sudo apt update# 安装必要的依赖 sudo apt install -y ca-certificates curl gnupg

elementplus 使用日期时间选择器,设置可选范围为前后大于2年且只能选择历史时间不能大于当前时间点

需求&#xff1a;时间选择器可选的时间范围进行限制&#xff0c;-2年<a<2年且a<new Date().getTime()核心&#xff1a;这里需要注意plus版没有picker-options换成disabled-date属性了&#xff0c;使用了visible-change和calendar-change属性逻辑&#xff1a;另设一个参…

将 AMD Zynq™ RFSoC 扩展到毫米波领域

目录 将 AMD Zynq™ RFSoC 扩展到毫米波领域Avnet XRF RFSoC 系统级模块适用于 MATLAB 的 Avnet RFSoC Explorer 工具箱5G mmWave PAAM 开发平台突破性的宽带毫米波波束成形特征&#xff1a;OTBF103 Mathworks Simulink 模型优化毫米波应用中的射频信号路径 用于宽带毫米波上/下…

Redis企业开发实战(五)——点评项目之分布式锁Redission与秒杀优化

目录 一、Redisson (一)Redisson基本介绍 (二)Redisson入门 1.引入依赖 2.配置Redisson客户端 3.使用Redission的分布式锁 4.tryLock参数解析 4.1tryLock() 4.2tryLock(long waitTime, TimeUnit unit) 4.3tryLock(long waitTime, long leaseTime, TimeUnit unit) 4…

IDEA安装离线插件(目前提供了MavenHelper安装包)

目录 1、离线安装方式2、Maven Helper 1、离线安装方式 首先访问 IDEA插件网站 下载离线插件安装包&#xff0c;操作如下&#xff1a; 然后打开IDEA的Settings配置&#xff0c;点击Plugins&#xff0c;点击右侧设置按钮&#xff08;齿轮&#xff09;&#xff0c;选择Install P…

LabVIEW 开发航天项目软件

在航天项目软件开发中&#xff0c;LabVIEW 凭借其图形化编程优势被广泛应用。然而&#xff0c;航天项目的高可靠性、高精度及复杂环境适应性要求&#xff0c;使得在使用 LabVIEW 开发时&#xff0c;有诸多关键要点需要特别关注。本文将详细分析在开发航天项目软件时需要重点注意…

互联网大厂中面试的高频计算机网络问题及详解

前言 哈喽各位小伙伴们,本期小梁给大家带来了互联网大厂中计算机网络部分的高频面试题,本文会以通俗易懂的语言以及图解形式描述,希望能给大家的面试带来一点帮助,祝大家offer拿到手软!!! 话不多说,我们立刻进入本期正题! 一、计算机网络基础部分 1 先来说说计算机网…

WPS接入DeepSeek模型

1.wps 下载安装 WPS-支持多人在线协作编辑Word、Excel和PPT文档_WPS官方网站 &#xff08;最好是安装最新的wps&#xff09; 2.offieceAi工具下载安装 软件下载 | OfficeAI助手 下载后安装下载下来的两个工具。安装路径可以自行修改 3.打开WPS,点击文件-》 选项-》信任中心 勾…

自然语言处理NLP_[1]-NLP入门

文章目录 1.自然语言处理入门1. 什么是自然语言处理2.自然语言处理的发展简史3 自然语言处理的应用场景1. **机器翻译**2. **文本分类**3. **情感分析**4. **问答系统**5. **文本生成**6. **信息抽取**7. **语音识别与合成**8. **文本摘要**9. **搜索引擎优化**10. **聊天机器人…

计算机毕业设计Python+Spark知识图谱医生推荐系统 医生门诊预测系统 医生数据分析 医生可视化 医疗数据分析 医生爬虫 大数据毕业设计 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

Selenium常用自动化函数

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 目录 1.元素的定位 1.1 定位步骤 1,要想定位,就先打开开发者工具 2,先点击左上角图标 1.2 cssSelector 1.3 xpath 2.操作测…

【故障排除】ls: command not found 终端命令失效的解决办法

【TroubleShooting】ls: command not found 终端命令失效的解决办法 A Solution to Solve “Command not found” of Terminal on Mac 一直在使用心爱的MacBook Pro的Terminal&#xff0c;并且为她定制了不同的Profile。 这样&#xff0c;看起来她可以在不同季节&#xff0c…

12.翻转、对称二叉树,二叉树的深度

反转二叉树 递归写法 很简单 class Solution { public:TreeNode* invertTree(TreeNode* root) {if(rootnullptr)return root;TreeNode* tmp;tmproot->left;root->leftroot->right;root->righttmp;invertTree(root->left);invertTree(root->right);return …

数字孪生智慧停车管理可视化平台

采用图扑可视化技术搭建智慧停车管理平台&#xff0c;实现了全面的数据整合与实时监控&#xff0c;提升了停车场运营效率和用户体验。通过 HT 可视化界面&#xff0c;管理者能够实时观察和分析停车位使用情况&#xff0c;进行精准调度与优化决策。