本文目錄一覽:
C語言如何實現判斷用戶輸入的算式結果正確?
將用戶輸入的算式存在字元串中,然後將字元串中的字元轉換成對應的數字和符號,自己算一遍。如果對,則告訴用戶對,如果錯,則告訴用戶錯。
用C語言判斷加減算式的結果對與錯時遇到問題。
浮點數有誤差,換成以下的代碼:
#includestdio.h
#includemath.h
#define THRESHOLD 1e-6
int main()
{
double a;
double b = 4.56, c = 7.32;
printf(“%f+%f=”, b, c);
scanf(“%lf”, a);
if (fabs(b+c-a)THRESHOLD)
printf(“OK\n”);
else
printf(“Wrong\n”);
}
c語言簡單程序 判斷算式的正確性
#include stdio.h
#include string.h
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);ic;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;jc;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());
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186004.html