鱼C论坛

 找回密码
 立即注册
查看: 1453|回复: 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

  1. #include<stdio.h>
  2. int main()
  3. {   
  4.     int a,b,c;
  5.     scanf("%f %f %s",&a,&b,&c);
  6.     if(c==  )
  7.         printf("%.1f",a+b);
  8.     else if(c==  )
  9.         printf("%.1f",a-b);
  10.     else if(c==  )
  11.         printf("%.1f",a*b);
  12.     else if(c== )
  13.         printf("%.1f",a/b);
  14.     return 0;
  15. }
复制代码


请帮忙补上if括号中的内容,判断c是否为+ -  * / 符号
最佳答案
2020-10-28 10:58:26
  1. #include<stdio.h>
  2. int main()
  3. {   
  4.     int a,b,c;
  5.     scanf("%f %f %s",&a,&b,&c);
  6.     if(c=='+'  )
  7.         printf("%.1f",a+b);
  8.     else if(c=='-'  )
  9.         printf("%.1f",a-b);
  10.     else if(c=='*'  )
  11.         printf("%.1f",a*b);
  12.     else if(c=='/' )
  13.         printf("%.1f",a/b);
  14.     return 0;
  15. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2020-10-27 23:57:36 From FishC Mobile | 显示全部楼层
“+-*/”
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-28 02:25:52 | 显示全部楼层
用字符数组来解决这个问题,在输入完数字之后,可能要空格、上键、运算符、回车,因此有4个元素的字符数组就够了


  1. #include<stdio.h>
  2. int main()
  3. {   
  4.     int i;
  5.     double a,b;
  6.     char c,str[4];
  7.     scanf("%lf%lf%s",&a,&b,str);
  8.     for(i = 0;i < 4;i++)
  9.     {
  10.          if(str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/')
  11.         {
  12.             c = str[i];
  13.         }
  14.     }
  15.     if(c == '+')
  16.     {
  17.         printf("%.1f\n",a+b);
  18.     }
  19.     else if(c == '-')
  20.     {
  21.         printf("%.1f\n",a-b);
  22.     }
  23.     else if(c== '*')
  24.     {
  25.         printf("%.1f\n",a*b);
  26.     }
  27.     else if(c== '/')
  28.     {     
  29.         if(b != 0)
  30.         {
  31.             printf("%.1f\n",a/b);
  32.         }
  33.         else
  34.         {
  35.             printf("除数不能为0 !\n");
  36.         }
  37.    }
  38.     return 0;
  39. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-28 10:58:26 | 显示全部楼层    本楼为最佳答案   
  1. #include<stdio.h>
  2. int main()
  3. {   
  4.     int a,b,c;
  5.     scanf("%f %f %s",&a,&b,&c);
  6.     if(c=='+'  )
  7.         printf("%.1f",a+b);
  8.     else if(c=='-'  )
  9.         printf("%.1f",a-b);
  10.     else if(c=='*'  )
  11.         printf("%.1f",a*b);
  12.     else if(c=='/' )
  13.         printf("%.1f",a/b);
  14.     return 0;
  15. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 19:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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