一道百度笔试题
来源:互联网 发布:电脑量角器软件 编辑:程序博客网 时间:2024/05/22 11:50
今晚做的,考试时没做出来,考完做出来了。
算加减乘除的,方法是用数组存储中间变量,但是边界条件调试了好久。
#include<iostream>#include<vector>#include<string>using namespace std;int chartoint(char *p,char *q){char *cur=p;int num=0;while(cur<=q){num=num*10;num+=(int)(*cur-'0');cur++;}return num;}int main(){vector<double> zhengshu;vector<char> fuhao;char zifu[65536];while(cin>>zifu){char* p=zifu,*q=zifu;zhengshu.clear();fuhao.clear();int len=strlen(zifu);double cur=1,cur2=1;char temp='\0';while(*q!='\0'){while(*q!='+'&&*q!='-'&&*q!='*'&&*q!='/'&&*q!='\0')q++;cur2=chartoint(p,q-1);if(cur==1)cur=cur2;else{if(temp=='*')cur=cur*cur2;else if(temp=='/')cur=cur/cur2;}if(*q=='+'||*q=='-'||*q=='\0'){zhengshu.push_back(cur);fuhao.push_back(*q);cur=1,cur2=1;}else{temp=*q;}if(*q!='\0'){p=q+1;q=q+1;}}double result=zhengshu[0];int len1=zhengshu.size();for(int i=0;i<len1;++i){if(fuhao[i]=='+')result+=zhengshu[i+1];else if(fuhao[i]=='-')result-=zhengshu[i+1];}printf("%.0f\n",result);}return 0;}
0 0
- 一道百度笔试题
- 一道百度笔试题
- 一道百度笔试题
- 百度一道笔试题
- 百度的一道笔试题
- 一道百度笔试题的解决方案
- 据说是一道百度的笔试题
- 今年百度的一道笔试题
- 百度的一道C++笔试题
- 一道百度2014校招笔试题
- 百度2014校招一道笔试题
- 一道百度校招笔试题
- 一道简单的百度笔试题
- 一道2017年百度笔试编程题
- 分享一道百度笔试程序题
- 百度2010校园招聘中的一道有意思的笔试题
- 20140920百度笔试题一道之二维矩阵查找
- 一道2015年百度笔试编程题-四则运算计算器
- ubuntu换成163的源
- 2015网络赛&HDU5444 Elven Postman - 排序二叉树
- 对象生成方式总结
- git commit提示Strange error in gitlab: fatal: protocol error: bad line length character: Depl
- 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机
- 一道百度笔试题
- Netbeans的使用:如何用Netbeans构建GUI程序
- 涨了两个大姿势
- UI09_协议控制
- 【最全干货】机器视觉的资料整理
- HDU 1394 线段树
- 计算机组成原理知识点汇总
- iOS开发中 new与alloc/init的区别 及 [NSArray array] 和 [[NSArray alloc]init] 及 self. 和 _ 的区别
- java 关键字之static