C语言问题,从键盘输入两个整数及一个运算符(加、减、乘、除)。

2025-01-20 01:39:27
推荐回答(2个)
回答1:

#include 
int main()
{int a,b,err=0;
 char op;
 while(1)
 {printf("输入两个整数及一个运算符(+、-、*、/):\n");
  scanf("%d%c%d",&a,&op,&b);
  switch (op)
  {case '+': printf("%d%c%d=%d\n",a,op,b,a+b);break;
   case '-': printf("%d%c%d=%d\n",a,op,b,a-b);break;
   case '*': printf("%d%c%d=%d\n",a,op,b,a*b);break;
   case '/': if(b)printf("%d%c%d=%d\n",a,op,b,a/b);break;
   default: err=1; break;
  }
  if(err)break;
 }
 return 0;
}

回答2:

输入: 12 + 34 输出: 46 输入quit 程序退出while #include #include void main() { char s[100], flag; double a, b; while(1) { printf(">>"); gets(s); if( strcmp(s, "quit")==0 ) break; sscanf(s, "%lf %c %lf", &a, &flag, &b); switch(flag) { case '+':a+= b;break; case '-':a-= b;break; case '*':a+= b;break; case '/':a/= b;break; default: puts("输入格式错误!"); continue; } printf("%lf\n\n", a); } }do--while#include #include void main() { char s[100], flag; double a, b; do { printf(">>"); gets(s); if( strcmp(s, "quit")==0 ) break; sscanf(s, "%lf %c %lf", &a, &flag, &b); switch(flag) { case '+':a+= b;break; case '-':a-= b;break; case '*':a+= b;break; case '/':a/= b;break; default: puts("输入格式错误!"); continue; }while(1); printf("%lf\n\n", a); } }