以下程序是我想用c语言弄一个能计算加减乘除的计算器,想请教一下程序哪有问题了
以下程序是我想弄一个能计算加减乘除的计算器,计算完一次后还能选择是否继续计算。我想用goto语句来实现循环,但每次都是只运行到计算结束后就退出了,不能选择是否继续运算,请...
以下程序是我想弄一个能计算加减乘除的计算器,计算完一次后还能选择是否继续计算。我想用goto语句来实现循环,但每次都是只运行到计算结束后就退出了,不能选择是否继续运算,请教一下,问题出在哪了?
#include <stdio.h>
int main(void)
{
double a,b;
char cha ;
char judgement ;
begin:
scanf("%lf%c%lf",&a,&cha,&b);
switch(cha)
{
case '+':
printf("=%10.5lf",a+b);
break;
case '-':
printf("=%10.5lf",a+b);
break;
case '*':
printf("=%10.5lf",a*b);
break;
case '/':
if(b==0)
printf("divisor can not be 0\n");
else
printf("=%10.5lf...%d\n",a/b,(int)a%(int)b);
printf("%d\n",(int)a%(int)b);
break;
default:
printf("运算符无效,请重新输入!\n");
}
printf("是否重新计算?\n");//只能运算到这里
scanf("%c",&judgement);
if(judgement=='y')
{
goto begin;
}
return 0;
} 展开
#include <stdio.h>
int main(void)
{
double a,b;
char cha ;
char judgement ;
begin:
scanf("%lf%c%lf",&a,&cha,&b);
switch(cha)
{
case '+':
printf("=%10.5lf",a+b);
break;
case '-':
printf("=%10.5lf",a+b);
break;
case '*':
printf("=%10.5lf",a*b);
break;
case '/':
if(b==0)
printf("divisor can not be 0\n");
else
printf("=%10.5lf...%d\n",a/b,(int)a%(int)b);
printf("%d\n",(int)a%(int)b);
break;
default:
printf("运算符无效,请重新输入!\n");
}
printf("是否重新计算?\n");//只能运算到这里
scanf("%c",&judgement);
if(judgement=='y')
{
goto begin;
}
return 0;
} 展开
1个回答
2015-09-13
展开全部
在每个的scanf后面加行getchar(); 原因好像是scanf输入后里面还有一个回车没有取出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询