首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮帮忙哈。非常多谢

2012-06-06 
帮帮忙哈。。。。。非常谢谢题目描述:有些语言中表达式的运算符使用字符串表示,例如用mul代表*,用div代表/,用ad

帮帮忙哈。。。。。非常谢谢
题目描述:
有些语言中表达式的运算符使用字符串表示,例如用mul代表*,用div代表/,用add代表+,用sub代表-,用mod代表%。 
输入数据及格式:
正常输入数据应为一行,为一个表达式,表达式由两个整数及其中间的运算符字符串(为mul、div、add、sub、mod五个其中之一)表示,之间以一个空格分隔,以回车换行符号’\n’结尾,前后没有多余的空格和换行。


[解决办法]
解析字符串,遇到第一个空格,前面的就是操作数1,然后找到第二个空格,这之间的是操作符,剩下的是操作数2.
[解决办法]

C/C++ code
#include <stdio.h>#include <string.h>char s[80];char op[4];int a,b,c;int main() {    while (1) {        fgets(s,80,stdin);        if (s[0]=='\n') break;        if (4==sscanf(s,"%d %3s %d%c",&a,op,&b,&c)) {            if ('\n'==c) {                     if (0==strcmp(op,"add")) printf("%d + %d\n",a,b);                else if (0==strcmp(op,"sub")) printf("%d - %d\n",a,b);                else if (0==strcmp(op,"mul")) printf("%d * %d\n",a,b);                else if (0==strcmp(op,"div")) printf("%d / %d\n",a,b);                else if (0==strcmp(op,"mod")) printf("%d %% %d\n",a,b);            }        }    }}
[解决办法]
探讨

exam3.c:(.text+0x10d): undefined reference to `strcmo'
collect2: ld returned 1 exit status

出现了这样的结果 这是为什么呢????

热点排行