#include<stdio.h>
void main()
{
float a, b, c;
char op;
scanf_s("%f%c%f=%f", &a, &op, &b, &c);
switch(op)
{
case '+':if (a + b == c) printf("Perfect\n");
else printf("错误"); break;
case '-':if(a-b==c)printf("Perfect\n");
else printf("错误 "); break;
}
return 0;
}
两个错误,修改如下
#include<stdio.h>
void main()
{
float a, b, c;
char op;
scanf_s("%f %f %f %c", &a, &b, &c, &op); //scanf内不要加其他符号,最好将字符放在后面
switch (op)
{
case '+':if (a + b == c) printf("Perfect\n");
else printf("错误"); break;
case '-':if (a - b == c)printf("Perfect\n");
else printf("错误 "); break;
}
//main函数是void,不需要return
}
switch选择语句中放的变量只能是整型,而不能是字符型,可以将1认为是‘+’, 2认为是‘-’......只要使用整型数字代表就行了