博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷—— P1022 计算器的改良
阅读量:5751 次
发布时间:2019-06-18

本文共 1272 字,大约阅读时间需要 4 分钟。

 P1022 计算器的改良

题目背景

NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。

题目描述

为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:

4+3x=8

6a-5+1=2-2a

-5+12y=0

ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“-”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。

你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。

输入输出格式

输入格式:

 

一个一元一次方程。

 

输出格式:

 

解方程的结果(精确至小数点后三位)。

 

输入输出样例

输入样例#1: 
6a-5+1=2-2a
输出样例#1: 
a=0.750

 

一道大模拟的题、、很简单,然而wa了好几遍、、、

#include
#include
#include
#include
#define N 1000using namespace std;char ch,s[N];int f=1,y=1,k,b,sum;int main(){ cin>>s; int l=strlen(s); for(int i=0;i
='a'&&s[i]<='z') ch=s[i],sum=0; if(s[i]>='0'&&s[i]<='9') { sum+=s[i]-'0'; if(s[i+1]>='a'&&s[i+1]<='z') k+=y*f*sum; else if(s[i+1]>='0'&&s[i+1]<='9') sum*=10; else b+=-y*f*sum; } if(s[i]=='=') y=-1,sum=0,f=1; } double ans=1.0*b/k; printf("%c=%.3lf",ch,ans); return 0;}

 

 

               

 

 

 

                      距 NOIp2017 还剩 17 天

 

                                你可以做的事情还有很多,即使到最后一秒也不要放弃,因为不到结束的那一刻谁也不知道结果会怎样

转载于:https://www.cnblogs.com/z360/p/7726234.html

你可能感兴趣的文章
程序是如何执行的(一)a=a+1
查看>>
BZOJ - 3578: GTY的人类基因组计划2
查看>>
【http】post和get请求的区别
查看>>
时间助理 时之助
查看>>
英国征召前黑客组建“网络兵团”
查看>>
PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...
查看>>
pyjamas build AJAX apps in Python (like Google did for Java)
查看>>
centos5.9使用RPM包搭建lamp平台
查看>>
[LeetCode] Merge Intervals
查看>>
Struts2 学习小结
查看>>
在 Linux 系统中安装Load Generator ,并在windows 调用
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
POI getDataFormat() 格式对照
查看>>
系列3:WAS Liberty Profile hello mysql jdbc
查看>>
基础知识:python模块的导入
查看>>
/etc/resolv.conf文件详解
查看>>
【转】VC的MFC中重绘函数的使用总结(整理)
查看>>
JQuery日记_5.13 Sizzle选择器(六)选择器的效率
查看>>
oracle查看经常使用的系统信息
查看>>
Django_4_视图
查看>>