c语言字母可以加减吗,C语言算式加减法运算
/*
通过键盘输入100以内的正整数的加、减法
运算式,请编写一个程序输出运算结果字符串。
输入字符串的格式为:“操作数1 运算符 操作数2”
,“操作数“与”运算符”之间以一个空格隔开。
补充说明:
1.操作数为正整数,不需要考虑结果溢出的情况。
2.若输入算式格式错误,输出结果为“0”。
*/
/*
思路:
1.先判断该运算式合法没有;
2.在把字符型的字符串转化成整形
3.整形做加减运算
*/
#include
#include
#include
//字符串转化成整形方法
int strToint(char *str)
{
int num = 0, len = 0, i = 0, j = 0;
len = strlen(str);
if(len == 0)
{
return NULL;
}else{
for(j = len, i = 0; j >= 1; j--,i++)
{
num += (*(str+i) - 48) * (int)(pow(10,j - 1));
}
}
return num;
}
void arithmetic(const char *pInputStr,long IInputLen,char *pOutputStr)
{
bool b = false;
char ch[3][4];
char c1 = '\0', c2 = '\0';
int i= 0,j = 0, f = 0, s = 0;
int num = 0, num1 = 0,num2 = 0;
//判断格式是否正确
for(i = 0; i < IInputLen; i++)
{
c1 = *(pInputStr + i);
c2 = *(pInputStr + i + 1);
if((c1 == '+' || c1 == '-') && (c2 == '+' || c2 == '-'))
{
b = true;
break;
}
}
if(b)//格式不正确输出0
{
printf("%d\n",num);
return;
}
//把运算数和运算符号分解出来
for(j = 0; j < IInputLen; j++)
{
if(*(pInputStr + j) != ' '){
ch[f][s++] = *(pInputStr + j);
}else{
ch[f][s] = '\0';
f++;
s = 0;
}
}
ch[f][s] = '\0';
//
int num1Len = strlen(ch[0]);
int num2Len = strlen(ch[2]);
//字符型转化成整形
num1 = strToint(ch[0]);
num2 = strToint(ch[2]);
//运算
if(ch[1][0] == '+')
{
num = num1 + num2;
}else if(ch[1][0] == '-'){
num = num1 - num2;
}
printf("%d\n",num);
}
void main()
{
char *p = NULL;
arithmetic("11 + 10",7,p);
}
c语言字母可以加减吗,C语言算式加减法运算相关推荐
- Python:随机生成多个两位数加减混合运算计算式
问题背景 随机自动生成多个的两位数加减混合运算题. 例如:32+48-46=? 77-33+84=? 要求: 1.三个两位数加减混合运算. 2.三个两位数都是随机生成. 3.加减符号随机生成. 4.计 ...
- c语言实现补码加减,C语言计算器含二进制数加减原反补码(自己的期末作业)
用C++6.0编写的计算器,内含整数小数加减乘除.二进制数组加减及求原码补码反码! #include #include int main() { void top(); void no1(),no2( ...
- 矩阵的加减乘c语言程序,C语言实现的矩阵加减乘法运算系统
C语言实现的矩阵加减乘法运算系统 /*本矩阵运算系统可以完成矩阵的加.减.乘法,但是只限于方阵*/ #include<stdio.h> #include<math.h> /*- ...
- 数据结构(C语言)多项式加减
这是大二刚开始数据结构的平时作业,上次随便发了,没来得及写标题和内容.题目要求用链表来实现多项式的加减,其实就是设置一个两个指针进行遍历,在代码段里有一些注解,要是有不太清楚的地方可以在下面留言或是私 ...
- c语言实现补码加减,C语言实现用位移运算符进行加减乘…
最近,在百度知道上回答问题,然后看见有的人问如何用位移运算符去进行加减乘除运算,于是巩固今天就在这总结一下. 先讲讲总体思路: 加法运算:将一个整数用二进制表示,其加法运算就是:相异(^)时,本位为1 ...
- C语言算小数加减,C语言带小数加减乘除.doc
C语言带小数加减乘除 /*Desgined by doBell-ConG*/ /*Function:simply add, subtract, multiply and divide*/ #inclu ...
- C语言double数据加减,double类型数据的加减乘除
import java.math.BigDecimal; /** * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入. */ public ...
- c语言大数的加减运算,求用C编个大数加减法运算程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 只写过加法的,杭电的A + B Problem (II)(AC): #include #include #include #define N 3000 i ...
- c语言 字母小游戏,详细讲解C语言单机小游戏——打字母游戏
要用C语言编写一个单机小游戏,首先得安装一个图形库.在这里我用的是EasyX 图形库,EasyX 是针对 C++ 的图形库,可以帮助 C++语言初学者快速上手图形和游戏编程. 比如,可以用 VC + ...
最新文章
- Python九十天学习框架,从1到90,从0基础到IQ100
- 【转】IE浏览器快捷键大全
- 2018年11月12日
- Java StringBuilder codePointAt()方法与示例
- [html] 一般习惯把js写在</body>前,但有例外的情况吗?说说看
- 记一次,jvm 内存溢出
- python多进程管道通信(精)
- C#图片处理之:Gamma校正
- MySQL不能使用/tmp
- 新手菜鸟防***必备知识
- ImageAI:几行代码跑深度学习
- Tomcat配置指定JDK
- 用好工具,在团队协作中运筹帷幄
- office中导入mathtype出现MathPage.wll未找到错误
- Linux Windows 的Tensorflow 配置: Nvidia 老显卡运算能力低于3.0
- MFC界面设计——AUDK
- kotlin 仿照setOnclickListener写法
- linux rm 提示权限不足
- 利用计算机课堂导入的好处,多媒体教学的好处
- Go Modules依赖包管理与Go Modules实战