#include<stdio.h>
#include<math.h>
int main(void)
{
float dat1, dat2;
char op;
printf("Please enter the expression:\n");
scanf_s("%f %c%f", &dat1, &op, &dat2);
switch (op)
{
case'+':
printf("%f + %f = %f \n", dat1, dat2, dat1 + dat2);
break;
case'-':
printf("%f - %f = %f \n", dat1, dat2, dat1 - dat2);
break;
case'*':
printf("%f * %f = %f \n", dat1, dat2, dat1 * dat2);
break;
case'x':printf("%f * %f = %f \n", dat1, dat2, dat1 * dat2);
break;
case'X':
printf("%f * %f = %f \n", dat1, dat2, dat1 * dat2);
break;
case'/':
printf("%f / %f = %f \n", dat1, dat2, dat1 / dat2);
break;
case'^':
printf("%f ^ %f = %f \n", dat1, dat2, pow(dat1, dat2));
break;
default:
printf("Invalid operator! \n");
}
return 0;
}
用scanf函数可以运行 同时注意输入数据的格式 要和你写的代码保持一致
#include<stdio.h>
#include<math.h>
int main(void)
{
float dat1, dat2;
char op;
printf("Please enter the expression:\n");
scanf("%f %c %f", &dat1, &op, &dat2);
switch (op)
{
case'+':
printf("%f + %f = %f \n", dat1, dat2, dat1 + dat2);
break;
case'-':
printf("%f - %f = %f \n", dat1, dat2, dat1 - dat2);
break;
case'*':
printf("%f * %f = %f \n", dat1, dat2, dat1 * dat2);
break;
case'x':printf("%f * %f = %f \n", dat1, dat2, dat1 * dat2);
break;
case'X':
printf("%f * %f = %f \n", dat1, dat2, dat1 * dat2);
break;
case'/':
printf("%f / %f = %f \n", dat1, dat2, dat1 / dat2);
break;
case'^':
printf("%f ^ %f = %f \n", dat1, dat2, pow(dat1, dat2));
break;
default:
printf("Invalid operator! \n");
}
return 0;
}
scanf_s("%f %c%f", &dat1, &op, &dat2);
改为:
scanf_s("%f %c%f", &dat1, &op, 1,&dat2);
scanf_s输入字符或字符串时,必须指定其最大长度。字符输入后面要加一个1
满意请点击采纳支持一下,注意只能采纳一个回答哦