当前位置: 首页 > article >正文

sse哈工大C语言编程练习45

2026 年 3 月 17 日收获判断直角三角形时两边的平方和减第三边的平方和小于 0.1 即可认为是直角三角形主要看题目给的测试用例确定精度。取余和除法第二个数都不能为 0若遇到则输出错误提示信息直接返回。动态规划先初始化边界条件再根据每一步的操作选取最优的一种方式依次更新状态。1. 三角形判断Q484题目描述输入三角形的三条边 abc判断它们能否构成三角形。若能构成三角形指出是何种三角形等腰三角形、直角三角形、一般三角形。输入格式要求%f,%f,%f提示信息Input the three edge length: 输出格式要求等腰三角形直角三角形一般三角形不是三角形程序运行示例① Input the three edge:3,4,5↙ 直角三角形 ② Input the three edge:4,4,5↙ 等腰三角形 ③ Input the three edge:10,10,14.14↙ 等腰直角三角形 ④ Input the three edge:3,4,9↙ 不是三角形#includestdio.h#includemath.hintmain(){floata,b,c;printf(Input the three edge length: );scanf(%f,%f,%f,a,b,c);// 首先判断是否能构成三角形任意两边之和大于第三边if(abcacbbcaa0b0c0){// 判断是否为直角三角形勾股定理允许 0.1 的误差if(fabs(a*ab*b-c*c)0.1||fabs(a*ac*c-b*b)0.1||fabs(b*bc*c-a*a)0.1){// 既是直角又是等腰if(ab||bc||ac){printf(等腰直角三角形);}else{printf(直角三角形);}}elseif(ab||bc||ac){// 等腰三角形printf(等腰三角形);}else{// 一般三角形printf(一般三角形);}}else{printf(不是三角形);}return0;}2. 数组相邻元素乘积Q2136题目描述任意从键盘输入 10 个整数存入数组 a 中从数组 a 的第二个元素起分别将后项乘以前项之积存入数组 b 中并输出数组 b 的内容。要求输入提示信息为无输入提示信息要求输入格式要求为%d要求输出格式要求为%3d#includestdio.hintmain(){inta[10],b[10];// 输入 10 个整数for(inti0;i10;i){scanf(%d,a[i]);}// 计算相邻元素的乘积并输出for(inti1;i10;i){b[i-1]a[i]*a[i-1];printf(%3d,b[i-1]);}return0;}说明b[0] a[1] × a[0]b[1] a[2] × a[1]…b[9] a[9] × a[8]3. 简单计算器字符串解析Q3810题目描述从键盘输入任意一个整数算术表达式如1020请给出其运算结果如果不能计算则显示Error。提示键盘输出 、-、*、/、%中的运算符为 ASCII 字符不能直接运算。输入格式1029输出格式102939或者 Error(要求 switch 语句实现可以添加 if 判断#includestdio.h#includestring.hintmain(){charstr[80];fgets(str,80,stdin);// 读取表达式字符串for(inti0;istrlen(str)-1;i){inta0,b0,result;charc;// 解析第一个数字while(str[i]0str[i]9){aa*10str[i]-0;i;}// 获取运算符cstr[i];// 解析第二个数字while(str[i]0str[i]9){bb*10str[i]-0;i;}// 检查除数和取余的合法性if((c/||c%)b0){printf(Error);return0;}// 根据运算符进行计算switch(c){case:resultab;break;case-:resulta-b;break;case*:resulta*b;break;case/:resulta/b;break;case%:resulta%b;break;default:printf(Error);return0;}printf(%d%c%d%d,a,c,b,result);}return0;}4. 求商改错Q1124题目描述求用户输入的两个数的商程序运行时以如下格式输入数据Input two integers:4 2↙请改正程序中的错误使它能得出正确的结果。原代码有错误#includestdio.hmain(){inta,b,c;printf(Input two integers:);scanf(%d %d,a,b);ca\b;// 错误反斜杠\应该是正斜杠/printf(The quotient of a and b is :%d,c);}改正后的代码#includestdio.hintmain(){inta,b,c;printf(Input two integers:);scanf(%d %d,a,b);ca/b;// 修正使用正斜杠/表示除法printf(The quotient of a and b is :%d,c);return0;}主要错误c a\b;→c a/b;C 语言中除法运算符是/而不是\5. 编辑距离动态规划Q6590题目描述编辑距离Edit Distance定义从字符串 a 变到字符串 b所需要的最少的操作步骤插入删除更改为两个字符串之间的编辑距离。例如eeba 和 abca 的编辑距离为 3将 e 变为 a删除 e添加 c共 3 个步骤。请编程实现 edit distance。输入输出格式printf(Please input the first string\n); gets(); printf(Please input the second string\n); gets(); printf(The distance is %d\n,);用到的函数有intmin(inta,intb,intc)intminDistance(char*s1,char*s2)程序示例Please input the first string eeba Please input the second string abca The distance is 3#includestdio.h#includestring.h#includestdlib.h// 函数声明intmin(inta,intb,intc);intminDistance(char*s1,char*s2);intmain(){chars1[1000],s2[1000];printf(Please input the first string\n);scanf(%s,s1);printf(Please input the second string\n);scanf(%s,s2);intmindisminDistance(s1,s2);printf(The distance is %d,mindis);return0;}// 求三个数的最小值intmin(inta,intb,intc){intmina;if(bmin)minb;if(cmin)minc;returnmin;}// 计算编辑距离动态规划intminDistance(char*s1,char*s2){intlen1strlen(s1),len2strlen(s2);// 创建二维数组 dp[i][j]表示 s1 前 i 个字符和 s2 前 j 个字符的编辑距离int**dp(int**)malloc((len11)*sizeof(int*));for(inti0;ilen1;i){dp[i](int*)malloc((len21)*sizeof(int));}// 初始化边界条件// s1 为空时需要插入 len2 个字符for(intj0;jlen2;j){dp[0][j]j;}// s2 为空时需要删除 len1 个字符for(inti0;ilen1;i){dp[i][0]i;}// 动态规划填表for(inti1;ilen1;i){for(intj1;jlen2;j){if(s1[i-1]s2[j-1]){// 字符相同不需要操作dp[i][j]dp[i-1][j-1];}else{// 取三种操作的最小值dp[i][j]min(dp[i-1][j]1,// 删除dp[i][j-1]1,// 插入dp[i-1][j-1]1// 替换);}}}intresultdp[len1][len2];// 释放内存for(inti0;ilen1;i){free(dp[i]);}free(dp);returnresult;}动态规划思路说明状态定义dp[i][j]表示 s1 的前 i 个字符和 s2 的前 j 个字符的编辑距离边界条件dp[0][j] j空串变成 s2 的前 j 个字符需要 j 次插入dp[i][0] is1 的前 i 个字符变成空串需要 i 次删除状态转移方程如果s1[i-1] s2[j-1]dp[i][j] dp[i-1][j-1]无需操作否则dp[i][j] min(dp[i-1][j]1, dp[i][j-1]1, dp[i-1][j-1]1)删除dp[i-1][j] 1插入dp[i][j-1] 1替换dp[i-1][j-1] 1时间复杂度O(m×n)m 和 n 分别为两个字符串的长度

相关文章:

sse哈工大C语言编程练习45

2026 年 3 月 17 日 收获: 判断直角三角形时,两边的平方和减第三边的平方和小于 0.1 即可认为是直角三角形,主要看题目给的测试用例,确定精度。取余和除法第二个数都不能为 0,若遇到则输出错误提示信息,直接…...

Java面试题1000+附答案大全(合适各级Java开发人员)

作为一名优秀的程序员,技术面试都是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 2026 年的互联网行业竞争越来越严峻,面试也是越来越难,很多粉丝朋友私信希望我出一篇面试专题或…...

迷你世界UGC3.0脚本Wiki数组变量数据管理接口 Array

迷你世界UGC3.0脚本WikiMenuOn this pageSidebar Navigation快速入门欢迎MOD、组件介绍什么是Lua编程组件介绍组件说明组件互相操作组件函数组件属性事件触发器事件管理组件事件管理函数库服务模块世界模块管理接口 World对象模块管理接口 GameObject角色模块管理接口 Actor玩家…...

Python 生成 PowerPoint 演示文件图表教程

免费编程软件「pythonpycharm」 链接:https://pan.quark.cn/s/48a86be2fdc0周五下午三点,部门群里弹出一条消息:"各位,下周一汇报的各季度运营数据PPT,今晚12点前发我合并。"小王盯着屏幕愣了五秒&#xff0…...

env SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm --loglevel error --silent --no-fund --no-audit install -g open

根据你提供的错误信息,npm install 在安装 OpenClaw 时失败,可能涉及多个层面的原因。以下是系统化的排查与解决方案:一、核心问题定位 从错误日志 npm install failed for openclawlatest 和命令参数 SHARP_IGNORE_GLOBAL_LIBVIPS1 推测&…...

GESP2026年3月认证C++一级( 第三部分编程题(2)数字替换)

一、🌟故事:Alice讨厌数字41、Alice 是一个很可爱的同学,不过她有一个小小的习惯:她 不喜欢数字 4。(1)因为在很多地方:4 的谐音像 “死”(2)但她特别喜欢:8因…...

OpenClaw 引爆 AI Agent 革命,边缘计算才是真正的“决战场“

一个奥地利程序员,60天改写了开源历史2025 年底,奥地利开发者 Peter Steinberger 发布了一个小型开源项目——Clawdbot。Steinberger 并不是一个普通程序员。他是 PDF 软件公司 PSPDFKit 的创始人,这家公司曾被以约 1 亿欧元估值出售。在离开…...

前字节员工自曝:北京买房年薪百万,却不如在成都月薪3万活得明白

来自:推荐一个程序员编程资料站:http://cxyroad.com副业赚钱专栏:https://xbt100.top2024年IDEA最新激活方法后台回复:激活码CSDN免登录复制代码插件下载:CSDN复制插件以下是正文。一位前字节跳动员工在社交媒体的帖子…...

2026必备!10个降AI率软件降AIGC网站评测:开源免费必看,学术降重全维度推荐

在人工智能技术日益渗透学术领域的今天,论文写作中AI痕迹的识别和处理已成为学者们不得不面对的重要课题。随着AIGC率检测技术的不断升级,传统的AI生成内容更容易被系统识别并标记,这给论文的原创性和通过率带来了巨大挑战。而AI降重工具的出…...

拖延症福音!全行业通用降AIGC工具 千笔·降AIGC助手 VS 灵感风暴AI

在AI技术迅速发展的今天,越来越多的学生、研究人员和职场人士开始借助AI工具辅助论文写作,提升效率与质量。然而,随着学术审查标准的不断提高,AI生成内容的痕迹越来越容易被识别,导致论文面临“AI率超标”的风险。许多…...

三极管工作原理解析

三极管知识全面解析 1. 三极管基础概念与结构 1.1 基本定义 三极管(Transistor)是一种半导体器件,具有电流放大和开关作用,是现代电子技术的核心元件。三极管由三个掺杂不同的半导体区域构成,分别是发射区、基区和集电区。 1.2 类型分类 类型 结构特点 符号表示 主要特…...

从 O(n²) 暴力到 O(n·log n) 蝶形运算——OpenCV dft() 源码全链路拆解,附频域去条纹噪声实战

一、你的图像处理为什么需要频域? 做图像处理的程序员,十个里面有九个是从空间域起步的。模糊用 GaussianBlur(),锐化用拉普拉斯算子,去噪用中值滤波——这些操作直觉上很好理解,每个像素和它的邻居做一轮加权平均就完事了。 但总有一天你会碰到这样的场景:一张图片上出…...

2026鸿蒙开发认证全攻略:从零基础到持证通关,抢占生态红利

在万物互联时代,鸿蒙系统作为华为自主研发的分布式操作系统,正加速渗透智能终端、物联网、工业互联网等多个领域,成为国内科技产业自主可控的核心支撑。鸿蒙开发认证作为华为官方唯一权威的技能认证体系,不仅是检验开发者鸿蒙技术…...

2026红帽认证(RHCSA/RHCE/RHCA)全攻略:从零基础到架构师,解锁Linux运维高薪密码

在Linux运维、DevOps、云原生赛道竞争日趋激烈的今天,红帽认证(RHCSA/RHCE/RHCA)早已超越“技能证书”的范畴,成为企业筛选核心技术人才的“硬通货”、从业者突破职业瓶颈的“金钥匙”。不同于市面上侧重理论的认证,红…...

C++ 隐式类型转换全解析

C 隐式类型转换全解析(核心规则场景风险)参考回答: 首先,对于内置类型,低精度的变量给高精度变量赋值会发生隐式类型转换,其次,对于只存在 单个参数的构造函数的对象构造来说,函数调…...

SECURITY ISSUES [radio wave]

SECURITY ISSUES [radio wave] 无限设备的安全问题一直使用有线的我,其实有线比无线传输更加快,信号更加稳定,信号辐射也小,我能想到唯一的缺点就是费线和到处都是线!!!!...

Java入门第162课——HTML 基础语法与文档结构

1.1 Web 核心基础认知 1.1.1 Web 工作原理 Web 采用客户端 - 服务器(C/S) 架构,核心流程: 客户端(浏览器)通过 URL 向服务器发送请求; 服务器接收请求后处理,返回 HTML/CSS/JS 等资源; 浏览器解析资源,以图形化方式展示页面。 1.1.2 Web 相关技术分类 服务器端技术…...

智捷云软网关:数据采集的智能桥梁

前言 在物联网应用中,设备数据采集是核心环节之一。传统的硬件网关虽然稳定,但成本高、部署复杂、扩展性差。软网关作为一种新兴的解决方案,以其灵活、经济、易部署的特点,正在成为物联网数据采集的新选择。今天要为大家介绍的是…...

迷你世界UGC3.0脚本Wiki道具实例介绍

迷你世界UGC3.0脚本WikiMenuOn this pageSidebar Navigation快速入门欢迎MOD、组件介绍什么是Lua编程组件介绍组件说明组件互相操作组件函数组件属性事件触发器事件管理组件事件管理函数库服务模块世界模块管理接口 World对象…...

一文搞懂信息安全核心技术:加密、认证与数字证书——软件设计师备考指南

目录 一、对称加密 vs 非对称加密:两种核心加密范式 二、数字签名与信息摘要:保障完整性与不可否认性 三、数字证书:解决公钥信任问题 四、技术对比总结 五、常见误区纠正 非 VIP 用户可前往公众号“前端基地”进行免费阅读,文章链接如下…...

微软澄清:5年后不会用AI重写Win11,C语言也不会被淘汰

5年后将淘汰C语言 微软澄清:不会用AI重写Win11系统快科技官方原创作者2025.12.2421:28在快科技于12月24日所发布的消息当中,在这之前,有一位工程师,其在个人页面宣告,有相关情况表明微软会在2030年的时候删去全部用C以…...

工程人必备!批量CAD版本转换,效率提升 10 倍!

如果你负责一整套项目图纸,几十张甚至上百张 DWG 文件, 需要统一转换成低版本归档或发给施工方, 一张一张手动转换,不仅枯燥,还极其浪费时间。 浩辰 CAD 看图王的批量版本转换功能,就是为解决这类痛点而…...

MySQL--》快速提高查询效率:SQL语句优化技巧与实践

目录 插入数据 order by与group by优化 limit、count、update优化 插入数据 在对数据库当中进行插入数据操作,通常我们都会使用insert进行插入数据,可由于每次insert都会和数据库建立连接,频繁的插入数据就会导致效率上的降低&#xff0c…...

隧道环境有毒有害气体在线监测系统方案

利用物联网、数据采集、大数据分析等技术,通过构建稳定、可靠的工业物联网络,工业智能网关能够将实时数据准确、快速地传输至监控管理中心,实现数据可视化,助力管理员全面了解隧道运行期间的有毒气体浓度实时状况,并为…...

2026 本科毕业论文 AI 工具全景指南:从 Paperzz 到高效写作矩阵,一键解锁毕业季从容节奏

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 又到本科毕业季,毕业论文成了无数学生的 “心头大山”:选题卡壳、文献难寻、图表公式无…...

华硕电脑键盘全部失灵

华硕电脑键盘全部失灵前言一、故障排查二、发现问题三、使用方法总结前言 故障情况描述: 键盘无法使用,键盘除开机键外全部失灵,关机后,如果没断电,键盘常亮 打开机器,故障复现,果然是完全失效…...

作为一个普通的程序员,到底应不应该转型AI大模型?

在程序员圈子中,技术转型近年来一直是热门话题。随着AI技术的迅猛发展,优秀人才短缺,程序员向AI大模型转型似乎成为了一条通往职场先机的路径。但是,这条转型之路是否容易走,成功率又如何呢?作为一个普通的…...

Java开发者AI转型大模型全攻略:4大方向+学习路径+避坑指南

本文探讨Java开发者如何在AI时代实现职业转型,提出四个方向:AI增强型工程师、AI工程化、垂直领域AI解决方案、AI产品化。详细阐述各方向目标、实践建议及优势,提供系统学习路径和资源推荐,并给出避免"调参侠"陷阱等实用…...

国内软件工程相关核心期刊汇总与投稿指南

中文核心期刊要目总览收录 1. 软件学报 (顶级期刊) 主办单位:中国科学院软件研究所收录情况:EI、CSCD核心、中文核心影响因子:较高,软件工程领域权威研究方向:软件理论、方法、技术、工具等 2. 计算机研究与发展 主办单…...

# 发散创新:用 Selenium 实现自动化测试的“智能断言”体系构建

发散创新:用 Selenium 实现自动化测试的“智能断言”体系构建 在现代 Web 自动化测试中,Selenium 已成为事实上的标准工具。但大多数开发者仍停留在基础的 find_element click send_keys 模式,缺乏对 断言逻辑 的深入优化和结构化封装。本文…...