7-232 累加表达式
分数 30
全屏浏览题目
切换布局
作者 叶青
单位 长春理工大学
模拟计算器,对整数连加表达式求值
输入格式:
输入任意长度的连续加法表达式,回车结束;
表达式不含有空格;
如果表达式有其它运算符,则提前结束
输出格式:
输出表达式的值
输入样例1:
1+2+3+4+5+6
输出样例1:
在这里给出相应的输出。例如:
21
输入样例2:
1+2+3-6-7
输出样例2:
在这里给出相应的输出。例如:
6
输入样例3:
19
输出样例3:
19
代码如下:
#include<stdio.h>
int cal(int st[], int k)
{
int sum = st[0];
for (int m = 1; m < k - 1; m++, m++)
{
if (st[m] == '+')
{
sum = sum + st[m + 1];
}
else
{
break;
}
}
return sum;
}
void main()
{
int sum1 = 0;
int i, c = 0;
char st1[10000];
int st2[10000];
scanf("%s", st1);
for (i = 0; st1[i] != '\0'; i++)
{
if (st1[i] > 47 && st1[i] < 58)
{
sum1 = (st1[i] - 48) + sum1 * 10;
st2[c] = sum1;
}
else
{
st2[++c] = st1[i];
sum1 = 0;
c++;
}
}
printf("%d\n", cal(st2, c + 1));
return;
}