C算法问题请高手解

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:02:35
main()
{
float a,b,c,x;
char d;
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",c);
}

/*如何才能让这程序像计算器一样,现在是比如输入:
6+3
=9
然后就结束.如何在9后继续运算?比如得出9后输入-9得出0后又可输入+4:
6+3
=9-9
=0+4
=4
...
一直下计算下去。
*/
czq241 的回答虽然程序后面能做到循环,但程序开始的时候不能直接运算。

重新修改如下:

#include "stdio.h"
void main()
{
float a,b,c;
char d;
printf("\n");
scanf("%f%c%f",&a,&d,&b);
switch(d)
{
case '+': {c=a+b;printf("=%f",c);}break;
case '-': {c=a-b;printf("=%f",c);}break;
case '*': {c=a*b;printf("=%f",c);}break;
case '/': {c=a/b;printf("=%f",c);}break;
}

re:
getchar();
scanf("%c%f",&d,&b);
a=c;
if(d=='+') c=a+b;
if(d=='-') c=a-b;
if(d=='*') c=a*b;
if(d=='/') c=a/b;
printf("=%f",c);

goto re;

}

#include <stdio.h>
void main()
{
float a,b,c,x;
char d;
printf("\n");
scanf("%f",&a);
scanf("%c",&d);
scanf("%f",&b);
do
if(d=='+') c=a+b;
if