简单计算器
读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。
Input
测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。
Output
对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
Sample Input
1 + 2
4 + 2 * 5 - 7 / 11
0
Sample Output
3.00
13.36
//#include<iostream>
//#include<algorithm>
//#include<string>
//#include<string.h>
//#include<cstdio>
//#include<queue>
//#include<stack>
//#include<set>
//#include<vector>
//using namespace std;
//int main(){
// double num;
// stack<double> st;
// while(cin >> num){
// char ch;
// ch = getchar();//吃掉第一个数后面空格
// if(ch != ' ' && num == 0){//如果第一个数后面什么都没有,空格也没有,证明只有1 个零结束循环
// break;
// }
// st.push(num);
// double n;
// char c,s;
// while(scanf("%c %lf%c",&c,&n,&s) != EOF){//把第一个数后面四位(空格也算)当做一个整体,不断循环输入
// if(c == '+'){
// st.push(n);
// }else if(c == '-'){
// st.push(-1*n);//把负号与数一起入栈,这样就都为正,后面要计算栈里面的值只用相加就行
// }else if(c == '*'){
// st.top() *= n;//将栈顶元素与当前输入的值相乘,然后作为新的栈顶元素
// }else if(c == '/'){
// st.top() /= n;
// }
// if(s != ' '){//如果最后一位不是空格(空或换行符'\n'),说明数据输入完成,结束循环
// break;
// }
// }
// double sum;
// sum = 0.00;
// while(!st.empty()){
// sum += st.top();//将栈中各个元素从栈顶开始相加并出栈
// st.pop();
// }
// printf("%.2f\n",sum);
// }
// return 0;
//}
A + B
读入两个小于100的正整数A和B,计算A+B.
需要注意的是:A和B的每一位数字由对应的英文单词给出.
输入
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
输出
对每个测试用例输出1行,即A+B的值.
样例输入 Copy
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
样例输出 Copy
3
90
96
//#include<iostream>
//#include<algorithm>
//#include<string>
//#include<string.h>
//#include<cstdio>
//#include<queue>
//#include<stack>
//#include<set>
//#include<map>
//#include<vector>
//using namespace std;
//int main(){
// map<string,int>num;
// num["one"] = 1;
// num["two"] = 2;
// num["three"] = 3;
// num["four"] = 4;
// num["five"] = 5;
// num["six"] = 6;
// num["seven"] = 7;
// num["eight"] = 8;
// num["nine"] = 9;
// num["zero"] = 0;
// string s;
// while(cin >> s){
// int a = 0;
// int b = 0;
// while(s != "+"){//当+号前面多个字符时,先进行计算
// a = a * 10 + num[s];
// cin >> s;
// }
// while(s != "="){//当=号前面多个字符时,先进行计算
// b = b * 10 + num[s];
// cin >> s;
// }
// if(a == 0 && b == 0){
// break;
// }
// cout << a + b << endl;
// }
// return 0;
//}
对称平方数1
打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为22=4,1111=121。
输入
无任何输入数据
输出
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
//#include<iostream>
//#include<algorithm>
//#include<string>
//#include<string.h>
//#include<cstdio>
//#include<queue>
//#include<stack>
//#include<set>
//#include<map>
//#include<vector>
//using namespace std;
//int main(){
// for(int i = 0; i < 256; i++){
// int num,t = 0;//t是数组下标
// int temp[20];//用来存组成num这个数的各个数字的数组
// num = i * i;//求得这个数
// while(num){//循环求组成num的 个十百千位上的各个数字存在数组中
// temp[t++] = num % 10;
// num /= 10;
// }
// int flag = 1;
// for(int j = 0; j < t/2; j++){//判断temp数组是否对称,判断一半就够了
// if(temp[j] != temp[t - 1 - j]){//从0开始,故最后一位为t - 1
// flag = 0;//对称位置两个数不相等,则置flag为0
// break;
// }
// }
// if(flag == 1){
// cout << i << endl;
// }
// }
// return 0;
//}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。