题记(40)--二次方程计算器

目录

一、题目内容

二、输入描述

三、输出描述

四、输入输出示例

五、完整C语言代码


一、题目内容

设计一个二次方程计算器

二、输入描述

每个案例是关于x的一个二次方程表达式,为了简单,每个系数都是整数形式。

三、输出描述

每个案例输出两个实数(由小到大输出,中间由空格隔开),保留两位小数;如果无解,则输出“No Solution”。

四、输入输出示例

输入:

x^2+x=3x+4

输出:

-1.24 3.24

五、完整C语言代码

AC代码~#include<stdio.h>
#include<string.h>
#include<math.h>int a, b, c;
void subStr(char* s, char* subs, int a, int b) {  // 子串分割函数(将等号左右分成两个表达式)int i = 0;for (int j = a; j <= b; j++) {subs[i] = s[j];i++;}subs[b + 1] = '\0';
}void process(char* s, int mode) {                // 处理子串函数int i = 0;int num = 0;int flag = 1;if (mode == 0) { // 左边等式if (s[0] == 'x') {if (s[i + 1] != '\0' && s[i + 1] == '^')a = 1;elseb = 1;}while (s[i] != '\0') {while ('0' <= s[i] && s[i] <= '9') {num = num * 10 + (s[i] - '0');i++;}if (s[i] == 'x') {if ((s[i + 1] != '\0' && s[i + 1] != '^') || (s[i + 1] == '\0')) {if (flag == 1)b += num;elseb -= num;num = 0;i++;} else { // 二次方if (flag == 1)a += num;elsea -= num;num = 0;i = i + 3; // 跳过^和次方}} else if (s[i] == '+') {if (s[i + 1] == 'x')b++;i++;flag = 1;num = 0;} else if (s[i] == '-') {if (s[i + 1] == 'x')b--;i++;flag = 0;num = 0;}}if (flag == 1)c += num;elsec -= num;} else { // 右边等式if (s[0] == 'x') {if (s[i + 1] != '\0' && s[i + 1] == '^')a = 1;elseb = 1;}while (s[i] != '\0') {while ('0' <= s[i] && s[i] <= '9') {num = num * 10 + (s[i] - '0');i++;}if (s[i] == 'x') {if ((s[i + 1] != '\0' && s[i + 1] != '^') || (s[i + 1] == '\0')) {if (flag == 1)b -= num;elseb += num;num = 0;i++;} else { // 二次方if (flag == 1)a -= num;elsea += num;num = 0;i = i + 3; // 跳过^和次方}} else if (s[i] == '+') {if (s[i + 1] == 'x')b--;i++;flag = 1;num = 0;} else if (s[i] == '-') {if (s[i + 1] == 'x')b++;i++;flag = 0;num = 0;}}if (flag == 1)c -= num;elsec += num;}
}int main() {char s[200], s1[100], s2[100];while (gets(s)) {int i = 0;int len = strlen(s);while (s[i] != '=')i++;subStr(s, s1, 0, i - 1);subStr(s, s2, i + 1, len - 1);a = b = c = 0;process(s1, 0);process(s2, 1);double der = b * b - 4 * a * c;if (der < 0)printf("No Solution\n");else {double x1 = (-b + sqrt(der)) / (2 * a);double x2 = (-b - sqrt(der)) / (2 * a);if (x1 < x2) {double tmp = x1;x1 = x2;x2 = tmp;}printf("%.2f %.2f\n", x2, x1);}}return 0;
}

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

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

相关文章

MIT-Missing Semester_Topic 3:Editors (Vim) 练习题

文章目录 练习一练习二练习三练习四练习五练习六练习七练习八 本 Topic 的 MIT 讲解网页&#xff08;练习题未给解答&#xff09; 练习一 自行完成 vimtutor。vimtutor 是 Vim 本身附带的一个入门教程&#xff0c;在 shell 中直接输入 vimtutor 便能运行。注意该教程在 8024 大…

[ubuntu]split命令分割文件

split 命令 $ split --help Usage: split [OPTION]... [INPUT [PREFIX]] Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is x. With no INPUT, or when INPUT is -, read standard input.Mandatory argume…

千里马平台设计说明-字典缓存

字典是软件开发中常用的功能。使用字典的核心问题是翻译&#xff0c;因为数据库中存储的是代码&#xff0c;前台页面展示的是描述。用于多语言环境时&#xff0c;翻译过程还需要根据语言环境进行适配。为了加快字典的加载速度&#xff0c;千里马平台采用了后台缓存前台缓存2级缓…

Gin 中使用 base64Captcha 生成图形验证码

验证码库 https://github.com/mojocn/base64Captcha 中文文档 Go进阶37:重构我的base64Captcha图形验证码项目 | &#x1f436;❤️&#x1f980; 在models文件夹中写一个验证码的文件&#xff0c;Captcha.go package modelsimport ("github.com/mojocn/base64Captcha&quo…

【小沐学GIS】基于C++QT绘制三维数字地球Earth(OpenGL)

&#x1f37a;三维数字地球系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第二期3【小沐…

QT:实现图片选择器

一、效果图 二、用到的类 qApp&#xff1a;可以快速获取到项目目录位置。 QSettings &#xff1a;编写config文件&#xff0c;记录上次打开图片的位置&#xff0c;下次打开图片会从上次的位置查找图片。 QPixmap&#xff1a;用于图片的缩放&#xff0c;防止图片过小&#xff0…

DVWA靶场下载安装

DVWA介绍 DVWA 一共包含了十个攻击模块&#xff0c;分别是:Brute Force(暴力破解)、Command Injection(命令行注入)、CSRF(跨站请求伪造)、File Inclusion(文件包含)、File Upload(文件上传)、Insecure CAPTCHA (不安全的验证码)、SQL Injection(SQL注入)、SQL Injection Blin…

【Java程序设计】【C00249】基于Springboot的私人健身与教练预约管理系统(有论文)

基于Springboot的私人健身与教练预约管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的私人健身与教练预约管理系统 本系统分为系统功能模块、管理员功能模块、教练功能模块以及用户功能模块。 系统功能模…

一、部署Oracle

部署Oracle 一、Docker部署1.Oracle11g1.1 测试环境1.1.1 拉取镜像1.1.2 启动容器1.1.3 配置容器环境变量1.1.4 修改sys、system用户密码1.1.5 创建表空间1.1.6 创建用户并授权1.1.5 使用DBeaver测试连接 二、安装包部署 一、Docker部署 1.Oracle11g 1.1 测试环境 当前只能用…

【Spring MVC篇】Cookie和Session的获取 Header的获取

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; Cookie是客户端保存用…

「知识札记」1.Object[ ]数组

前言 这个系列主要记录一些比较零碎、细节的知识点&#xff0c;随缘更新啦~ 正文 Object[]类型的数组是一个非常灵活的数据结构&#xff0c;它可以存储任意类型对象的数组。 在Java中&#xff0c;所有的类都继承自Object类&#xff0c;所以Object[ ]类型的数组可以存储任意类…

基于Java (spring-boot)的职工管理系统

一、项目介绍 基于Java (spring-boot)的职工管理系统功能&#xff1a;登录、老板、职员人事经理、职员、部门列表、职工列表、权限修改、查看所有管理、正在审核列表、添加考勤、添加职工、添加奖惩、合同列表、合同信息、等等等。 适用人群&#xff1a;适合小白、大学生、毕业…

Python学习之路-初识爬虫:requests

Python学习之路-初识爬虫:requests requests的作用 作用&#xff1a;发送网络请求&#xff0c;返回响应数据 中文文档 &#xff1a; http://docs.python-requests.org/zh_CN/latest/index.html 为什么学requests而不是urllib requests的底层实现就是urllibrequests在pytho…

360网络安全面试题汇总

防范常见的 Web 攻击 重要协议分布层 arp 协议的工作原理 rip 协议是什么&#xff1f;rip 的工作原理 什么是 RARP&#xff1f;工作原理 OSPF 协议&#xff1f;OSPF 的工作原理 TCP 与 UDP 区别总结 什么是三次握手四次挥手&#xff1f; tcp 为什么要三次握手&#xff1f; dns…

PyTorch vs TensorFlow:谁拥有更多预训练深度学习模型?

众所周知,访问预先训练的深度学习模型对于当代深度学习应用至关重要。随着最先进的模型变得越来越大,达到数万亿个参数,在许多领域,尤其是自动语音识别等领域,从头开始训练高级模型不再有意义。 鉴于预训练深度学习模型的重要性,哪个深度学习框架(PyTorch 或 TensorFlo…

“程序员的秘密:为何我们的电脑从不眠眼——揭秘背后的奥秘!“

程序员们经常不关电脑&#xff0c;这背后确实有一些实际的原因和考虑&#xff0c;而不仅仅是因为“上瘾”。以下是一些为什么程序员倾向于让电脑持续运行的原因&#xff1a; 1. 长时间的任务 程序员可能会运行一些耗时较长的任务&#xff0c;比如大数据处理、模型训练或是复杂…

【PyTorch】PyTorch中张量(Tensor)切片操作

PyTorch深度学习总结 第三章 PyTorch中张量(Tensor)切片操作 文章目录 PyTorch深度学习总结一、前言二、获取张量中的元素1、切片&#xff08;行、列数&#xff09;方法2、torch.where()函数3、使元素置零的操作 一、前言 上文介绍了PyTorch中改变张量(Tensor)形状的操作&…

Science重磅_让大模型像婴儿一样学习语言

英文名称: Grounded language acquisition through the eyes and ears of a single child 中文名称: 通过一个孩子的眼睛和耳朵基于实践学习语言 文章: https://www.science.org/doi/10.1126/science.adi1374 代码: https://github.com/wkvong/multimodalbaby 作者: Wai Keen V…

腾讯云4核8G服务器多少钱?轻量和CVM报价2024新版

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;标准型SA2服务器1444.8元一年&#xff0c;轻量应用服务器4核8G12M带宽一…

java之filter过滤器

1、概念 2、过程 3. 实现 4. 参考链接 参考的b站链接