2014华为机试题---表达式计算
来源:互联网 发布:金字塔股票交易软件 编辑:程序博客网 时间:2024/06/14 05:35
三、题目描述(50分):
通过键盘输入100以内正整数的加、减运算式,
请编写一个程序输出运算结果字符串。
输入字符串的格式为:“操作数1 运算符 操作数2”,
“操作数”与“运算符”之间以一个空格隔开。
补充说明:
1、操作数为正整数,不需要考虑计算结果溢出的情况。
2、若输入算式格式错误,输出结果为“0”。
要求实现函数:
void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
通过键盘输入100以内正整数的加、减运算式,
请编写一个程序输出运算结果字符串。
输入字符串的格式为:“操作数1 运算符 操作数2”,
“操作数”与“运算符”之间以一个空格隔开。
补充说明:
1、操作数为正整数,不需要考虑计算结果溢出的情况。
2、若输入算式格式错误,输出结果为“0”。
要求实现函数:
void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
*/
#include <stdio.h>#include<iostream>using namespace std;#include<string.h>#include<stdlib.h>void arithmetic(const char *input, long len, char *output){char s1[10];char s2[10];char s3[10];//表达式数据分别存储int cnt=0;int len_input=strlen(input);for(int i=0;i<len_input;++i){if(input[i]==' ')cnt++;}if(cnt!=2){*output++ = '0';*output = '\0';return;}sscanf(input,"%s %s %s",s1,s2,s3);//从一个字符串中读进与指定格式相符的数据if(strlen(s2)!=1||(s2[0]!='+'&&s2[0]!='-')){*output++ = '0';*output = '\0';return;} int i;int len_s1=strlen(s1);for(i=0;i<len_s1;i++){if(s1[i]<'0'||s1[i]>'9'){*output++ = '0'; *output = '\0';return;}}int len_s3=strlen(s3);for(i=0;i<len_s3;i++){if(s3[i]<'0'||s3[i]>'9'){*output++ = '0'; *output = '\0';return;}}int x = atoi(s1);//将字符串转换成整数 ASCII to integer;int y = atoi(s3);if(s2[0]=='+'){int result = x+y;itoa(result,output,10);//将整数转换成字符串}else if(s2[0]=='-'){int result = x-y;itoa(result,output,10);}else{*output++ = '0'; *output = '\0';return;}}void main(){char str[10];//str=(char *)malloc(sizeof(char));//scanf("%s",str);cin.getline(str,10);//输入字符串流 包括空格char outstr[10];int len = strlen(str);arithmetic(str,len,outstr);printf("%s\n",str);printf("%s\n",outstr);}
0 0
- 2014华为机试题---表达式计算
- 华为机试题--计算一个表达式的值
- 华为机试题 计算下一秒
- 华为机试题--2.计算字符个数
- 华为机试题 计算字符个数
- 华为机试题之表达式求值
- 华为2014机试题
- 华为2014机试题
- 华为 2014 机试题
- 华为2014机试题
- 2014华为机试题
- 华为机试题 2014
- 2014华为机试题
- 华为上机练习题--计算表达式
- 华为历年机试题2014
- 2014华为机试题目
- 华为2014机试题目
- 华为2014机试题2
- Unix NetWork Programming——例程 (解决unp.h等源码编译问题)
- VBS基础篇 - 条件语句(2) - Select Case
- printwriter用法
- byvoid阿里第二弹:不是技术牛人,如何拿到国内IT巨头的Offer
- 利用JDBC连接Oracle数据库
- 2014华为机试题---表达式计算
- [蓝牙]蓝牙4.0 for iOS
- iOS个推的使用
- 深入分析Memcached的线程 main()函数
- 使用 Django 和 Python 开发 Web 站点
- [后台]iOS中后台运行
- 如何创建OpenCart主题/模板
- 反编译与回编译android的framework.jar(其他jar文件也可参考)
- 自定义view---滚动的刻度尺(一)