如何在if表达式中判断c是否为某种符号?
任务描述输入两个实数和一个四则运算符( +-*/ ),根据运算符执行相应的运算并输出结果,使用if语句完成。保留一位小数。
测试输入:4 91 +
预期输出:
95.0
测试输入:4 91 -
预期输出:
-87.0
测试输入:4 91 *
预期输出:
364.0
测试输入:4 2 /
预期输出:
2.0
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%f %f %s",&a,&b,&c);
if(c==)
printf("%.1f",a+b);
else if(c==)
printf("%.1f",a-b);
else if(c==)
printf("%.1f",a*b);
else if(c== )
printf("%.1f",a/b);
return 0;
}
请帮忙补上if括号中的内容,判断c是否为+ -* / 符号 c直接用char吧,还有你用int的算出来的值,用%f是输出不出来的。硬要输出,就是加个(float)。比如(float)a+b “+-*/” 用字符数组来解决这个问题,在输入完数字之后,可能要空格、上键、运算符、回车,因此有4个元素的字符数组就够了
#include<stdio.h>
int main()
{
int i;
double a,b;
char c,str;
scanf("%lf%lf%s",&a,&b,str);
for(i = 0;i < 4;i++)
{
if(str == '+' || str == '-' || str == '*' || str == '/')
{
c = str;
}
}
if(c == '+')
{
printf("%.1f\n",a+b);
}
else if(c == '-')
{
printf("%.1f\n",a-b);
}
else if(c== '*')
{
printf("%.1f\n",a*b);
}
else if(c== '/')
{
if(b != 0)
{
printf("%.1f\n",a/b);
}
else
{
printf("除数不能为0 !\n");
}
}
return 0;
}
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%f %f %s",&a,&b,&c);
if(c=='+')
printf("%.1f",a+b);
else if(c=='-')
printf("%.1f",a-b);
else if(c=='*')
printf("%.1f",a*b);
else if(c=='/' )
printf("%.1f",a/b);
return 0;
}
页:
[1]