鱼C论坛

 找回密码
 立即注册
查看: 3178|回复: 7

[已解决]C语言简单的四则运算计算器,新人一枚

[复制链接]
头像被屏蔽
发表于 2021-5-20 19:27:37 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-20 19:27:38 | 显示全部楼层    本楼为最佳答案   
首先请问学getchar()这个函数了没,应该学了吧?反正就在第P13那里。如果认真听并做了课后作业了,那么请看如下
  1. #include <stdio.h>
  2. int main()
  3. {

  4.     float a,b,c;
  5.     char ch;
  6.     int count=0;
  7.     printf("请输入式子:");
  8.     scanf("%f%c%f",&a,&ch,&b);
  9.    while(getchar()!='\n')
  10.     {
  11.         count++;
  12.     }
  13.     if(count==0)
  14.     {
  15.         if(ch=='+')
  16.         {
  17.             c=a+b;
  18.             printf("结果为:%.2f\n",c);
  19.         }
  20.         else if(ch=='-')
  21.         {
  22.             c=a-b;
  23.             printf("结果为:%.2f\n",c);
  24.         }
  25.         else if(ch=='*')
  26.         {
  27.             c=a*b;
  28.             printf("结果为:%.2f\n",c);
  29.         }
  30.         else if(ch=='/')
  31.         {
  32.             c=a/b;
  33.             if(b!=0)
  34.             {
  35.                 printf("结果为:%.2f\n",c);
  36.             }
  37.             else
  38.             {
  39.                 printf("除数不能为零!\n");
  40.             }
  41.         }
  42.    }
  43.    else
  44.     {
  45.         printf("抱歉算不了");
  46.     }
  47.     return 0;
  48. }
复制代码

应该能看懂吧,不懂再问。
还有,问题的时候代码要规范贴,就像我这样能一键复制粘贴的。
最后,如果满意的话能不能给个最佳答案呢亲
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-20 20:09:21 | 显示全部楼层
你的两个数字是个位数的运算的意思吗?还是说两个十位数之间的运算?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-5-20 20:31:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-20 20:39:29 | 显示全部楼层
emmm范围的话,你输入的数字超出float的范围会自动报错,然后你应该多设置一个变量,因为你是两个数的四则运算,超出两个数显示抱歉算不了,
比如定义了a,b,c,d            例如我输出1+1*3,赋值a=1,b=+,c=1,d=*,然后判断d是否为零,因为符号在ASCII码中对应着不是零,你可以初始化给d赋值0,如果不是零,则说明他输入的不是一个两位数的运算,就输出抱歉算不了,是零就继续运算下去,希望对您有帮助。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-5-20 21:25:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-21 19:04:51 | 显示全部楼层
不是非要输入d的,你可以增加一个判断,先对d初始化为0,然后如果他输入的运算超过了两位,就比如3*4/5,第四个对应的/号,它对应的ASCII是一个数,进行判断,输出运算不了,如果d是0,则正常运算,跟d无关。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-5-21 19:18:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 10:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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