C语言实验课第二次实验第一题

sy2_1.c 用 switch 语句和 while 语句编程设计一个简单的计算器程序,要求根据用户从键盘重复输入 4 次表达式:操作数 1 运算符 op 操作数 2计算表达式的值,指定的算术运算符为加(+)、求余(%)、乘(*)、除(/)。例如运行程序,可以输入 5/2 然后显示 5/2=2。输入除数为 0 时能显示错误提示“The divisor can not be zero.”。
提示:可以先写出只用 switch 语句只输入 1 次表达式的程序,运行正确之后再修改加入 while 语句,重复输入 4 次表达式。运行程序时,可输入如下数据测试是否正确:
      5/2
      12+3
      5/0
      5%2
代码:

#include <stdio.h>

int main()
{
int x,y,n;
char function;
n=1;
printf("please input x function y:\n");
while(n<=4)
{
scanf("%d %c %d",&x,&function,&y);
switch(function)
{
case'+':printf("%d+%d=%d\n",x,y,x+y);break;
case'%':
if(y==0)
printf("The divisor can not be zero.\n");
else
printf("%d%c%d=%d\n",x,function,y,x%y);break;
case'/':
if(y==0)
printf("The divisor can not be zero.\n");
else
printf("%d/%d=%d\n",x,y,x/y);break;
case'*':printf("%d*%d=%d\n",x,y,x*y);break;
default:printf("输入错误\n");break;
}
n++;
}
return 0;
}

在本题中,每个case后面的语句中,最后都要有一个break语句,使流程转到switch语句的末尾。

 注意本题做%运算时printf的编写:printf("%d%c%d=%d\n",x,function,y,x%y);break;

如果想输出字符'%',应该在“格式控制字符串”中用两个连续的“%”表示,如:

printf("%f%%\n",1.0/3); 输出0.333333%   这样做实现了输出“%”符号。

posted @ 2020-12-21 23:57  HosenTin  阅读(284)  评论(0)    收藏  举报