(2018-2)解一元一次方程
原文出处 https://blog.csdn.net/vir_lee/article/details/80377378#comments
题目描述:
解方程,给定一个字符串,代表一个一元一次方程。如果有解求解,输出格式“x=数字“,如果解的个数无穷,输出 “infinite solutions”。如果没有解输出“no solution”,字符串长度不超过 256 。
样例输入:
输入1:
2x+4-3x=x-2
输出1:
x=2
思路:
遇到 + - = 这三个符号单独处理
遇到数字连续处理,转化为数值;之后再看后面一位是否为x, 从而来统计系数和、常数和
代码:
#include <cstdio>
#include <iostream>
#include <string>
using namespace std;
string str;int main(){cin >> str;int a = 0, b = 0; //系数、常数int sym = 1, flag = 1; //sym表示数字之前的符号,flag表示等号的左右(初始值为1,表示在左面)int i = 0; //访问字符串的下标while(i < str.size()){if(str[i] == '='){sym = 1;flag = -1;}else if(str[i] == '+'){sym = 1;}else if(str[i] == '-'){sym = -1;}else{ //遇到数字或者xint t = 0; //暂存遇到的数字值while(i < str.size() && str[i] >= '0' && str[i] <= '9'){ //遇到数字,计算数值t = 10 * t + (str[i] - '0');++i;}//当表达式最后一位是数字时,比如2x+4-3x=x-2,上面while的循环会使i >= str.size()成立if(i >= str.size()){ b -= t * sym;break;}if(str[i] == 'x' && t == 0){ //如果x之前的系数为正负1时,要单独判断,因为此时t=0a += sym * flag;}else if(str[i] == 'x'){ //处理系数a += t * sym * flag;}else{ //处理常数b += t * sym * flag;continue; //直接进行下一次循环是因为:上面while循环中处理数字之后已经++i}}i++;}if(a == 0 && b == 0){printf("infinite solutions\n");}else if(a != 0 && b % a == 0){printf("x=%d\n", -b/a);}else{printf("no solution\n");}return 0;
}
(2018-2)解一元一次方程相关推荐
- 如何解一元一次方程视频_七年级数学教学视频-小邵课堂
本套课程为七年级数学第三章专题教学,初中七年级学生在学完解一元一次方程之后,已掌握了书本上所总结的五个解题步骤,但在整个一元一次方程部分的习题和练习题中,还存着一些解题技巧,也就是说在解题中研究一元一 ...
- 一元多项式计算器_人教版初中数学七年级上册——去括号、去分母解一元一次方程公开课优质课课件教案视频...
正数和负数的概念PPT课件教案下载__初中数学人教版七年级上册_师梦圆www.shimengyuan.com正数.负数以及0的意义PPT课件教案下载__初中数学人教版七年级上册_师梦圆www.sh ...
- 科学计算机怎么解一元一次方程,解一元一次方程“八不要”
解一元一次方程"八不要" 2019-04-25 14:38:22次浏览 刘书翠 有些同学在解一元一次方程时,由于对法则.性质运用不够熟练,常出现一些错误,为预防在解题中出现同样的错 ...
- php编写解一元一次方程,解释C语言(逐句) 解一元一次方程的 怎样用C语言编一个解一元二次方程的程序?...
导航:网站首页 > 解释C语言(逐句) 解一元一次方程的 怎样用C语言编一个解一元二次方程的程序? 解释C语言(逐句) 解一元一次方程的 怎样用C语言编一个解一元二次方程的程序? 相关问题: 匿 ...
- 解一元一次方程计算机在线,解一元一次方程(一).doc
解一元一次方程(一) 3.2 解一元一次方程(一) ――合并同类项和移项 教学任务分析 教 学 目 标知识技能1.掌握解方程中的合并. 2.理解并掌握移项变号法则进行解方程. 3.灵活的运用移项变号法 ...
- 用Python解一元一次方程
第一步:SymPy库的安装 windows环境安装命令: pip install sympy 第二步:解一元一次方程功能实现 解方程的功能主要由sympy中的solve函数实现. 示例题目: 3x=1 ...
- Python解一元一次方程和一元二次方程,输出数学形式和小数形式
Python解一元一次方程和一元二次方程,输出数学形式和小数形式 一元一次方程 一元二次方程 完整代码 运行结果 创建函数: def eqt(c,b,a=0): 其中,a.b.c分别是二次项系数.一次 ...
- 7-93 解一元一次方程
7-93 解一元一次方程 请编写程序,解一元一次方程,a**x+b=0. 一元一次方程求解公式为:x=−a**b 求解要求: ⋄ a\=0, 方程有唯一解,输出解: ⋄ a=0,b\=0, 方程无解, ...
- PTA 7-93 解一元一次方程
7-93 解一元一次方程 分数 10 作者 李军 单位 陕西理工大学 请编写程序,解一元一次方程,ax+b=0. 一元一次方程求解公式为::x=− a b 求解要求: 输入格式: 在一行输入两个实 ...
- 7-14 解一元一次方程 (17 分)
请编写程序,解一元一次方程,ax+b=0. 一元一次方程求解公式为:x=−ab 求解要求: ⋄ a=0, 方程有唯一解,输出解: ⋄ a=0,b=0, 方程无解,输出no solution ⋄ ...
最新文章
- C++string类知识点总结
- angular $resource参数占位符释疑
- ubuntu的sudo输入密码时光标不动的问题
- asp.net MVC 应用程序的生命周期
- var obj = eval(result); 解析json
- svn回退到具体的版本
- 【Mac】一些软件的图片和视频位置 QQ 微信
- Java基础学习总结(60)——Java常用的八种排序算法
- 广义表head tail 运算_双链表实现LRU缓存淘汰策略
- 28.yii2 用户认证
- Linux创建桌面快捷方式
- Vista Ultimate X64 绝对正宗的激活工具
- 微信云开发实现点赞收藏评论功能
- 基于云端的生命检测系统(合泰杯比赛报告内含代码)
- 微信开发者工具 设置wxml属性换行
- Java 应用程序,该程序中有 3 个类:Triangle、T rapezium 和 Circle,分别用来 表示三角形、梯形和圆形。
- iOS 蓝牙开发 BabyBluetooth蓝牙库介绍
- 华为交换机配置NQA实现动态链路检测
- 安装office报错
- 【杭电oj】-1234开门人关门人(快排,结构体)
热门文章
- 【IoT】创业:内容运营 - 戴上写作的六顶思考帽
- js动态隐藏和展示页面元素的方法
- c语言大作业书店图书管理系统,C语言_课程设计—书店图书管理系统.doc
- Spring Security笔记:解决CsrfFilter与Rest服务Post方式的矛盾
- LG G2 D802通话没声音,扬声器可以用
- PHP微商城开源代码实例
- 纵横网络靶场社区前四题wp
- plesk php,Godaddy主机Windows系统Plesk面板修改PHP版本方法
- Docker Images Containers
- b级计算机考试在线试题及答案,全国计算机一级考试试题及答案