补全并改正以下程序#include<stdio.h> int main() { float v1,v2; char op; printf(“please type your expression:\n”); scanf(“%f%c%f”,&v1,&op,&v2); switch( ) { case ‘+’: printf(“%f+%f=%f\n”,v1,v2,v1+v2);break; case ‘ ’: printf(“%f-%f=%f\n”,v1,v2,v1-v2); break; case ‘*’: printf(“%f*%f=%f\n”,v1,v2,v1*v2); break; case ‘/’: if( ) { printf(“除数为零\n”);break; } else {printf(“%f/%f=%f\n”,v1,v2,v1/v2);break;} default: printf(“运算符错误\n”); } return 0;
时间: 2024-03-14 12:47:41 浏览: 88
补全并改正的程序如下:
```
#include<stdio.h>
int main()
{
float v1,v2;
char op;
printf("please type your expression:\n");
scanf("%f%c%f", &v1, &op, &v2);
switch(op)
{
case '+':
printf("%f + %f = %f\n", v1, v2, v1+v2);
break;
case '-':
printf("%f - %f = %f\n", v1, v2, v1-v2);
break;
case '*':
printf("%f * %f = %f\n", v1, v2, v1*v2);
break;
case '/':
if(v2 == 0)
{
printf("除数为零\n");
break;
}
else
{
printf("%f / %f = %f\n", v1, v2, v1/v2);
break;
}
default:
printf("运算符错误\n");
break;
}
return 0;
}
```
改正的错误:
1. `printf(“please type your expression:\n”);` 中的引号使用了中文引号而非英文引号。
2. `switch` 语句中的括号内缺少了 `op` 的判断条件。
3. `case` 中的 `-` 符号被写成了空格。
4. `printf` 语句中的运算符前后应该加上空格。
5. 在除法运算时,应该判断除数是否为零。
阅读全文