阅读以下说明和代码,填写程序中的空(1)-(5),将解答写入答题细的对应栏内。
【说明】
下面程序运行时,对输入的表达式进行计算并输出计算结果。设表达式由两个整数和一个运算符(+或-)构成,整数和运算符之间以空格分隔,运算符可以出现在两个整数之前、之间或之后,整数不超过4位,输入的两个整教和运算符都用字符串表示
例如,输入分别为 “25+7”、“+257”、“257+”时,输出均为“25+7=32”。
【C 代码】
#include<stdio. h>
Int strain (char*s); //将数字字符串转换为整数
Int isOperator(char*str); //判断字符串的开头字符是否为运算符
void cal (char op, char a[ ], charb[ ]); //将数字串转化为对应证书后进行所要求的计算
int main ( )
{
char a[ 10] ,b[10 ],c[10];
scanf ("%s%s%s, a, b, c);
//输入数据的有效性检测略,下面假设输入数据有效、正确
Solve(a, b, c);
Retune ( )
}
int strain (char*s);
{
Int val=0
while(*s)
val= (1)+(*s-’0’); ∥将数字字符串转换为十进制整数
(2) //令字符指针指向下一个数字字符
}
Return val;
}
int isoperator(char* str)
{
return (*str==’+’II*str==’-’):
}
Void cal ( char op,char a [ ],char b[ ])
{
switch(op) {
case ‘+’:
printf("%s+%s=%d", a, b, straint(a)+straint(b));
break.
case ‘-’:
printf("%s-%s=%d", a, b, strain(a)-straint(b));
Break;
}
}
void solve(char a[ ], char b[ ], char c [ ])
{//解析输入的3 个字符串,输出表达式及计算结果
if (seperator(a)){ ∥运算符在两个整数之前
ca(( 3 );
}
else if(opErator(b)){ ∥运算符在两个整数之间
ca(( 4 );
else { ∥运算符在两个整数之后
ca(( 5 );
}
}

