鱼C论坛

 找回密码
 立即注册
查看: 1214|回复: 4

[已解决]如何在if表达式中判断c是否为某种符号?

[复制链接]
发表于 2020-10-27 20:46:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
任务描述
输入两个实数和一个四则运算符( +  -  *  / ),根据运算符执行相应的运算并输出结果,使用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是否为+ -  * / 符号
最佳答案
2020-10-28 10:58:26
#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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-27 23:50:43 | 显示全部楼层
c直接用char吧,还有你用int的算出来的值,用%f是输出不出来的。硬要输出,就是加个(float)。比如(float)a+b
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-27 23:57:36 From FishC Mobile | 显示全部楼层
“+-*/”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-28 02:25:52 | 显示全部楼层
用字符数组来解决这个问题,在输入完数字之后,可能要空格、上键、运算符、回车,因此有4个元素的字符数组就够了
#include<stdio.h>
int main()
{   
    int i;
    double a,b;
    char c,str[4];
    scanf("%lf%lf%s",&a,&b,str);
    for(i = 0;i < 4;i++)
    {
         if(str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/')
        {
            c = str[i];
        }
    }
    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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-28 10:58:26 | 显示全部楼层    本楼为最佳答案   
#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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表