if (isdigit(*ptr)) {
/*当前字符是数字,则将该数字开始的数字串转换为数值*/
tnum = (2) ;
while (*ptr>=’0’ && *ptr <=’9’) {
tnum = tnum * 10 + (3) ;
ptr++;
}
Push( (4) );
}
else /*当前字符是运算符或其他符号*/
if (*ptr=='+'||*ptr=='-'||*ptr =='*'||*ptr =='/'){
if (!IsEmpty(s)) {
a = Top(s); Pop(&s); /*取运算符的第二个运算数*/
if (!IsEmpty(s)) {
b = Top(s); Pop(&s); /*取运算符的第一个运算数*/
}
else return -1;
}
else return -1;
switch (*ptr) {
case '+': Push(&s,b+a); break ;
case '-': Push(&s,b-a); break ;
case '*': Push(&s,b*a); break ;
case '/': Push(&s,b/a); break ;
}
}
else
return -1;
ptr++; /*字符指针指向下一字符*/
} /* while */
if (IsEmpty(s)) return -1;
else {
(5) = Top(s); Pop(&s); /*取运算结果*/
if (!IsEmpty(s)) return -1;
return 0;
}
}
2008年上半年 程序员 下午试卷 第 6 页 (共 12 页)
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。