输入为数字和算术符号组成的字符串,程序会根据运算级处理后输出结果,这是前段时间写的了,没有添加输入字母报错功能,当时我认为计算器上一般也没有字母按键,所以就没有写,但是现在想想计算器和这个代码实现的原理可能又不太一样,如果有借鉴者,自行加上就可以了。

运行时会报一个gets的警告,这个不用管,因为我还没学fgets

calc.c: In function ‘main’:
calc.c:35:2: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]gets(Input);^~~~fgets
/tmp/ccGSFET8.o:在函数‘main’中:
calc.c:(.text+0x17c): 警告: the `gets' function is dangerous and should not be used.

运行结果如下

9+12*3-10/2+6
46.00

代码如下

#include <stdio.h>
#include <stdlib.h>//atoi
#include <string.h>
float S(float x,float y,char z){float num_temp=0;if(z=='*'){num_temp=x*y;}if(z=='/'){num_temp=x/y;}return num_temp;
}
float SS(float x,float y,char z,char zz){float num_temp2=0;if(zz==' '){return 0;}if(z=='+'){num_temp2=x+y;}if(z=='-'){num_temp2=x-y;}return num_temp2;
}int main(int argc, const char *argv[])
{char Input[100]={0},Inchar[100]={0};float Innum[100]={0},num_1=0,num_2=0;int i=0,j=0;float num_temp1=0;char *p=Input;gets(Input);while(*p!=0){num_2=0;while(*p>='0'&&*p<='9'){num_1=*p-'0';num_2=num_1+num_2*10;p++;}Innum[i]=num_2;Inchar[i]=*p;i++;p++;}for(i=0;i<100;i++){if(Innum[i]==0){break;}num_temp1=S(Innum[i],Innum[i+1],Inchar[i]);if(num_temp1!=0){Innum[i+1]=num_temp1;Inchar[i]=' ';}}for(i=1;i<100;i++){if(Innum[i]==0){break;}num_temp1=SS(Innum[j],Innum[i],Inchar[j],Inchar[i]);if(num_temp1!=0){Innum[i]=num_temp1;j=i;}}printf("%.2f\n",num_temp1);return 0;
}

关于c基础实现简易计算器的代码(加减乘除)相关推荐

  1. 网页版简易计算器(仅加减乘除)

    网页版简易计算器(仅加减乘除) ------------------------------------- 开发工具与关键技术:Visual Studio 2015 C# 作者:林敏静 撰写时间:20 ...

  2. 十位数连加 c语言,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....

    用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 人气:435 ℃时间:2020-04-10 06:55:13 优质解答 ...

  3. 基于Python中tkinter做的可视化简易计算器(代码有注释,利于理解)

    Python可视化简易计算器 基于GUI库:tkinter做的一个简单计算器 开发软件 Pycharm2019.3 代码如下:(有对代码的简单分析,易于理解) import re import tki ...

  4. java实现简易计算器,实现加减乘除,括号,算式查错,

    java实现简易计算器 问题分析 一.计算机界面显示 二. 计算器计算数据处理 三. 部分源代码(该源码未加入算式查错,文件资源正在上传) 三.完整源码,加减乘除,括号,delete,算式查错 问题分 ...

  5. java控制台实现的简易计算器,实现加减乘除

    控制台实现的简易计算器实现加减乘除. package com.javase.method;import java.util.Scanner;/*** @author panglili* @create ...

  6. java实现简易计算器完整代码

    早晨起来没事,打开mac突然想写个小程序,就写来个简易的计算器,可以实现基本的运算,测试目前无bug,下面分享下自己的代码. 首先写了个简单的界面如下: 整个面板用了BorderLayout布局,分为 ...

  7. Qt简易计算器的代码实现

    大二用qt写的简易计算机,已经修改完bug,请放心食用 输入的时候一定用按钮,不要直接在文本框中输入 在qt中新建这几个文件,运行就OK了  main.cpp #include "calcu ...

  8. iOS 简易计算器 纯代码

    把  计算器里的方法 封装一个类 #import <Foundation/Foundation.h> @interface CaculatorBrain : NSObject - (voi ...

  9. c语言计算器取百分数,简易计算器的代码--------我终于可以编40行以上的代码了...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 各位继续吧.我也写了点东西,可以看看哈~~ #include #include #define element_number 100  //预定义表达式最 ...

最新文章

  1. C++为什么空格无法输出_算法竞赛C++常用技巧——输入输出优化(防止TLE)
  2. 剖析 Laravel 计划任务--事件属性
  3. redis RedisTemplate实现分布式锁
  4. 有奖竞赛 | “神策杯”高校算法大师赛揭幕,寻找最强文本处理大神
  5. Python:file (read,readline,readline )使用方法
  6. css技能你get到了吗?
  7. JavaScript笔记(6)
  8. Perl一行式:处理空白符号
  9. 华为背锅?微博大V质疑华为P30 Pro拍月亮造假 公司称误导观众已开除
  10. 别让for循环毁了你的程序(一)
  11. 谁在让字节跳动?张一鸣领衔14大将,106位高管架构首次曝光
  12. java爬取html过快,需要输入验证码
  13. SQL Server数据库查询速度慢的原因
  14. 批量添加-动态拼接字符串
  15. Mac环境下安装MongoDB数据库
  16. C#运控框架 雷赛运动控制 DMC系列 运动控制项目 C#源码
  17. 网站流量过大服务器不行,网站如何应对突然的大流量访问?
  18. 如何运行android sdk sample中的单元测试
  19. Eddy's AC难题
  20. 2D/3D文档查看器ABViewer发布v12,大大提高PDF转DWG的速度丨附下载

热门文章

  1. Linux自动同步时间的方法
  2. 我在赶集网的两个月(数据挖掘、竞情分析、产品、团购、运营、电话销售)
  3. 数字图像学笔记——7. 噪音生成(泊松噪音生成方法)
  4. 谷歌学术检索论文如何指定多个来源
  5. Java自定义模板设计
  6. Ubuntu16.04安装VCS和Verdi遇到的两个问题
  7. JAVA音视频解决方案----音频处理方案
  8. mysql 危险字符_PHP过滤指定字符串,过滤危险字符
  9. oracle中update,insert,delete的高级用法
  10. 3842脉宽调制芯片原理