C算法循环问题,请高手看看

来源:百度知道 编辑:UC知道 时间:2024/06/27 21:46:19
int main()
{
float s,r,y;
char d;
printf("请输入算式:\n");
scanf("%f",&s);
scanf("%c",&d);
scanf("%f",&r);
if (d=='+') y=s+r;
else if (d=='-') y=s-r;
else if (d=='*') y=s*r;
else if (d=='/') y=s/r;
printf("y=%f\n",y);
}

这样只能算一次就exit了,要怎么让它像计算器一样循环?请指点。
下面的回答结果是算完一次,会出现是否继续的提示,但也还是有press any key to exit!的提示,按了y最后也是退出程序了。怎么办?

main()
{
float a,b,c;
char d,e;
while(e='\n')
{
printf("\n");
scanf("%f",&a);
scanf("%c",&d);
scanf("%f",&b);
if(d=='+') c=a+b;
if(d=='-') c=a-b;
if(d=='*') c=a*b;
if(d=='/') c=a/b;
printf("=%f\n",c);
}
scanf("%c",&e);
}

可以用do while语句将主语句包含起来,再程序最后提示“Do you want to try again?(y/n or Y/N)?”根据选择是否再次进入DO循环

int main()
{
float s,r,y;
char d,reply;
do
{
printf("请输入算式:\n");
scanf("%f",&s);
scanf("%c",&d);
scanf("%f",&r);

if (d=='+') y=s+r;
else if (d=='-') y=s-r;
else if (d=='*') y=s*r;
else if (d=='/') y=s/r;
printf("y=%f\n",y);
printf("Do you want to try again?(y/n or Y/N)?