c语言简单程序 判断算式的正确性
答案:1 悬赏:50 手机版
解决时间 2021-02-14 08:56
- 提问者网友:鐵馬踏冰河
- 2021-02-13 15:35
c语言简单程序 判断算式的正确性
最佳答案
- 五星知识达人网友:佘樂
- 2021-02-13 17:02
#include
#include
main()
{
char buff[256],*pchar;
int a,b,c,i,j;
do{
if(!gets(buff)) {printf("Error when gets\n"); return;}
else if(!buff[0]) gets(buff);
if(sscanf(buff,"%d",&a)<1) {printf("Syntax error\n"); return;}
for(i=0,c=strlen(buff);i if(buff[i]=='+'||buff[i]=='-'||buff[i]=='*'||buff[i]=='/')
break;
pchar = buff+i+1;
if(sscanf(pchar,"%d",&b)<1) { printf("Syntax error\n"); return;}
for(j=i+1;j if(buff[j]=='=')
break;
pchar = buff+j+1;
if(sscanf(pchar,"%d",&c)<1) { printf("Syntax error\n"); return;}
switch (buff[i])
{
case '+':
if(a+b==c) printf("Correct\n");
else printf("Incorrect\n");
break;
case '-':
if(a-b==c) printf("Correct\n");
else printf("Incorrect\n");
break;
case '*':
if(a*b==c) printf("Correct\n");
else printf("Incorrect\n");
break;
case '/':
if(c*b==a) printf("Correct\n");
else printf("Incorrect\n");
break;
}
printf("Continue?(y/n)\n");
} while('y'==getchar());
}追问大哥。。。你这玩意儿太高级了。。。系统是按要求来改的。。能给我弄个照题目来的不追答没明白你的意思,你是想仅仅判断一个等式程序就退出吗?
如果是这样,
就删除第9行(即'do{'这行)
以及删除倒数第2、3行(即以下这两行)
printf("Continue?(y/n)\n");
} while('y'==getchar());
#include
main()
{
char buff[256],*pchar;
int a,b,c,i,j;
do{
if(!gets(buff)) {printf("Error when gets\n"); return;}
else if(!buff[0]) gets(buff);
if(sscanf(buff,"%d",&a)<1) {printf("Syntax error\n"); return;}
for(i=0,c=strlen(buff);i
break;
pchar = buff+i+1;
if(sscanf(pchar,"%d",&b)<1) { printf("Syntax error\n"); return;}
for(j=i+1;j
break;
pchar = buff+j+1;
if(sscanf(pchar,"%d",&c)<1) { printf("Syntax error\n"); return;}
switch (buff[i])
{
case '+':
if(a+b==c) printf("Correct\n");
else printf("Incorrect\n");
break;
case '-':
if(a-b==c) printf("Correct\n");
else printf("Incorrect\n");
break;
case '*':
if(a*b==c) printf("Correct\n");
else printf("Incorrect\n");
break;
case '/':
if(c*b==a) printf("Correct\n");
else printf("Incorrect\n");
break;
}
printf("Continue?(y/n)\n");
} while('y'==getchar());
}追问大哥。。。你这玩意儿太高级了。。。系统是按要求来改的。。能给我弄个照题目来的不追答没明白你的意思,你是想仅仅判断一个等式程序就退出吗?
如果是这样,
就删除第9行(即'do{'这行)
以及删除倒数第2、3行(即以下这两行)
printf("Continue?(y/n)\n");
} while('y'==getchar());
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯