C语言 编写一个 n个位数加减法程序 如1+2+3-4 输出2
输入时应该是字符因为考虑到+-这两个字符,但是这时数字也是字符了,没法加减,请问有啥办法把字符变数字吗?还有我用的二维字符数组..求指点...
输入时应该是字符因为考虑到+-这两个字符, 但是这时数字也是字符了,没法加减,请问有啥办法把字符变数字吗? 还有我用的二维字符数组..求指点
展开
展开全部
#include "stdio.h"
int main()
{
float a[100];//数字
char b[100];//运算符
int c;//数组长度
int d;//临时变量
float sum=0;//总和
float jisuan(float a,char c,float b);//普通四则运算
//输入
scanf("%f",a);
for(c=0;(b[c]=getchar())!='\n';c++)
scanf("%g",&a[c+1]);
b[c]='\0';
//计算
sum=a[0];
for(d=0;d<c;d++)
sum=jisuan(sum,b[d],a[d+1]);
printf("=%g\n",sum);
}
float jisuan(float a,char c,float b)
{
if(c=='+')
return a+b;
else if(c=='-')
return a-b;
else if(c=='*')
return a*b;
else if(c=='/')
return a/b;
else
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询