大一C语言求解答啊啊

如题所述

#include<stdio.h>
#include<math.h>
int main()
{
double a,b;
char c;
printf("Enter a expression:");
scanf("%lf%c%lf",&a,&c,&b);
switch(c)
{
case '+':printf("%0.2lf + %0.2lf=%0.3lf\n",a,b,a+b);break;//%0.3lf保留三位小数
case '-':printf("%0.2lf - %0.2lf=%0.3lf\n",a,b,a-b);break;
case '*':printf("%0.2lf * %0.2lf=%0.3lf\n",a,b,a*b);break;
case '/':printf("%0.2lf / %0.2lf=%0.3lf\n",a,b,a/b);break;
case '^':printf("%0.2lf ^ %0.2lf=%0.3lf\n",a,b,pow(a,b));break;//pow(x,y)求x的y次方函数
default:
printf("错误,无此运算符\n");
}
return 0;
}



追问

用if呢

追答#include<stdio.h>
#include<math.h>
int main()
{
double a,b;
char c;
printf("Enter a expression:");
scanf("%lf%c%lf",&a,&c,&b);
if(c=='+')
{
printf("%0.2lf + %0.2lf=%0.3lf\n",a,b,a+b);//%0.3lf±£ÁôÈýλСÊý
}
else if(c=='-')
{
printf("%0.2lf - %0.2lf=%0.3lf\n",a,b,a-b);
}
else if(c=='*')
{
printf("%0.2lf * %0.2lf=%0.3lf\n",a,b,a*b);
}
else if(c=='/')
{
printf("%0.2lf / %0.2lf=%0.3lf\n",a,b,a/b);
}
else if(c=='^')
{
printf("%0.2lf ^ %0.2lf=%0.3lf\n",a,b,pow(a,b));//pow(x,y)ÇóxµÄy´Î·½º¯Êý
}
else
{
printf("´íÎó£¬ÎÞ´ËÔËËã·û\n");
}
return 0;
}#include<stdio.h>
#include<math.h>
int main()
{
double a,b;
char c;
printf("Enter a expression:");
scanf("%lf%c%lf",&a,&c,&b);
if(c=='+')
{
printf("%0.2lf + %0.2lf=%0.3lf\n",a,b,a+b);
}
else if(c=='-')
{
printf("%0.2lf - %0.2lf=%0.3lf\n",a,b,a-b);
}
else if(c=='*')
{
printf("%0.2lf * %0.2lf=%0.3lf\n",a,b,a*b);
}
else if(c=='/')
{
printf("%0.2lf / %0.2lf=%0.3lf\n",a,b,a/b);
}
else if(c=='^')
{
printf("%0.2lf ^ %0.2lf=%0.3lf\n",a,b,pow(a,b));
}
else
{
printf("´íÎó£¬ÎÞ´ËÔËËã·û\n");
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-11
********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
char name[20];
char str[20];
char *p;
float a,b,num;
printf("Enter a experssion:");
scanf("%s",name);
a = atof(name);
strcpy(str,name);
if(strstr(name,"+"))
{
p = strstr(name,"+");
b = atof(p+1);
num = a+b;
printf("%f + %f=%f \n",a,b,num);
}
if(strstr(name,"-"))
{   
p = strstr(name,"-");
b = atof(p+1);  
num = a+b;
printf("%f - %f=%f \n",a,b,num);
}
if(strstr(name,"*"))
{   
p = strstr(name,"*");
b = atof(p+1);  
num = a+b;
printf("%f * %f=%f \n",a,b,num);
}
if(strstr(name,"/"))
{   
p = strstr(name,"/");
b = atof(p+1);  
num = a+b;
printf("%f / %f=%f \n",a,b,num);
}
if(strstr(name,"^"))
{   
p = strstr(name,"^");
b = atof(p+1);  
num = pow(a,b);
printf("%f ^ %f=%f \n",a,b,num);
}

return 0;

}

相似回答