原文出处 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)解一元一次方程相关推荐

  1. 如何解一元一次方程视频_七年级数学教学视频-小邵课堂

    本套课程为七年级数学第三章专题教学,初中七年级学生在学完解一元一次方程之后,已掌握了书本上所总结的五个解题步骤,但在整个一元一次方程部分的习题和练习题中,还存着一些解题技巧,也就是说在解题中研究一元一 ...

  2. 一元多项式计算器_人教版初中数学七年级上册——去括号、去分母解一元一次方程公开课优质课课件教案视频...

    正数和负数的概念PPT课件教案下载__初中数学人教版七年级上册_师梦圆​www.shimengyuan.com正数.负数以及0的意义PPT课件教案下载__初中数学人教版七年级上册_师梦圆​www.sh ...

  3. 科学计算机怎么解一元一次方程,解一元一次方程“八不要”

    解一元一次方程"八不要" 2019-04-25 14:38:22次浏览 刘书翠 有些同学在解一元一次方程时,由于对法则.性质运用不够熟练,常出现一些错误,为预防在解题中出现同样的错 ...

  4. php编写解一元一次方程,解释C语言(逐句) 解一元一次方程的 怎样用C语言编一个解一元二次方程的程序?...

    导航:网站首页 > 解释C语言(逐句) 解一元一次方程的 怎样用C语言编一个解一元二次方程的程序? 解释C语言(逐句) 解一元一次方程的 怎样用C语言编一个解一元二次方程的程序? 相关问题: 匿 ...

  5. 解一元一次方程计算机在线,解一元一次方程(一).doc

    解一元一次方程(一) 3.2 解一元一次方程(一) ――合并同类项和移项 教学任务分析 教 学 目 标知识技能1.掌握解方程中的合并. 2.理解并掌握移项变号法则进行解方程. 3.灵活的运用移项变号法 ...

  6. 用Python解一元一次方程

    第一步:SymPy库的安装 windows环境安装命令: pip install sympy 第二步:解一元一次方程功能实现 解方程的功能主要由sympy中的solve函数实现. 示例题目: 3x=1 ...

  7. Python解一元一次方程和一元二次方程,输出数学形式和小数形式

    Python解一元一次方程和一元二次方程,输出数学形式和小数形式 一元一次方程 一元二次方程 完整代码 运行结果 创建函数: def eqt(c,b,a=0): 其中,a.b.c分别是二次项系数.一次 ...

  8. 7-93 解一元一次方程

    7-93 解一元一次方程 请编写程序,解一元一次方程,a**x+b=0. 一元一次方程求解公式为:x=−a**b 求解要求: ⋄ a\=0, 方程有唯一解,输出解: ⋄ a=0,b\=0, 方程无解, ...

  9. PTA 7-93 解一元一次方程

    7-93 解一元一次方程 分数 10 作者 李军 单位 陕西理工大学 请编写程序,解一元一次方程,ax+b=0. 一元一次方程求解公式为::x=− a b ​ 求解要求: 输入格式: 在一行输入两个实 ...

  10. 7-14 解一元一次方程 (17 分)

    请编写程序,解一元一次方程,ax+b=0. 一元一次方程求解公式为:x=−ab​ 求解要求: ⋄ a=0, 方程有唯一解,输出解: ⋄ a=0,b=0, 方程无解,输出no solution ⋄  ...

最新文章

  1. C++string类知识点总结
  2. angular $resource参数占位符释疑
  3. ubuntu的sudo输入密码时光标不动的问题
  4. asp.net MVC 应用程序的生命周期
  5. var obj = eval(result); 解析json
  6. svn回退到具体的版本
  7. 【Mac】一些软件的图片和视频位置 QQ 微信
  8. Java基础学习总结(60)——Java常用的八种排序算法
  9. 广义表head tail 运算_双链表实现LRU缓存淘汰策略
  10. 28.yii2 用户认证
  11. Linux创建桌面快捷方式
  12. Vista Ultimate X64 绝对正宗的激活工具
  13. 微信云开发实现点赞收藏评论功能
  14. 基于云端的生命检测系统(合泰杯比赛报告内含代码)
  15. 微信开发者工具 设置wxml属性换行
  16. Java 应用程序,该程序中有 3 个类:Triangle、T rapezium 和 Circle,分别用来 表示三角形、梯形和圆形。
  17. iOS 蓝牙开发 BabyBluetooth蓝牙库介绍
  18. 华为交换机配置NQA实现动态链路检测
  19. 安装office报错
  20. 【杭电oj】-1234开门人关门人(快排,结构体)

热门文章

  1. 【IoT】创业:内容运营 - 戴上写作的六顶思考帽
  2. js动态隐藏和展示页面元素的方法
  3. c语言大作业书店图书管理系统,C语言_课程设计—书店图书管理系统.doc
  4. Spring Security笔记:解决CsrfFilter与Rest服务Post方式的矛盾
  5. LG G2 D802通话没声音,扬声器可以用
  6. PHP微商城开源代码实例
  7. 纵横网络靶场社区前四题wp
  8. plesk php,Godaddy主机Windows系统Plesk面板修改PHP版本方法
  9. Docker Images Containers
  10. b级计算机考试在线试题及答案,全国计算机一级考试试题及答案