C语言实现加减乘除混合运算计算器

news/2025/1/15 12:20:02/

简易计算器

把输入的字符串数字和符号分离

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{int i,j=0,k=0,l=0;char op[100];//符号字符串 char str[100];//所输入的字符串 char aq[100];//数字字符串 double num[100];//数字 double res=0;//结果 gets(str);for(i=0;str[i]!='\0';i++){if(str[i]>='0'&&str[i]<='9'||str[i]=='.'){aq[j++]=str[i];}//将输入的字符串中的数字提取出来 else{ num[l++]=atof(aq);//数字存入double类型 memset(aq,0,sizeof(aq));//清空aq op[k++]=str[i];//符号存入op j=0;}}num[l++]=atof(aq);op[k]='\0';puts(op);for(i=0;num[i]!='\0';i++)printf("%.2lf\t",num[i]);printf("\n");

再进行混合运算

for(i=0;op[i]!='\0';i++){if(op[i]=='*'){for(j=i;op[j]!='\0';j++) op[j]=op[j+1];//符号递进 num[i]=num[i]*num[i+1];for(j=i+1;num[j]!='\0';j++)num[j]=num[j+1];//数字递进 i--; //符号前进i要退一 }//乘法运算 if(op[i]=='/'){for(j=i;op[j]!='\0';j++) op[j]=op[j+1];num[i]=num[i]/num[i+1];for(j=i+1;num[j]!='\0';j++)num[j]=num[j+1];i--;}//除法运算 }res=num[0];for(i=0;op[i]!='\0';i++){if(op[i]=='+')res=res+num[i+1];if(op[i]=='-')res=res-num[i+1];//进行加减运算 }printf("%.2lf",res);return 0;	} 

完整代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{int i,j=0,k=0,l=0;char op[100];//符号字符串 char str[100];//所输入的字符串 char aq[100];//数字字符串 double num[100];//数字 double res=0;//结果 gets(str);for(i=0;str[i]!='\0';i++){if(str[i]>='0'&&str[i]<='9'||str[i]=='.'){aq[j++]=str[i];}//将输入的字符串中的数字提取出来 else{ num[l++]=atof(aq);//数字存入double类型 memset(aq,0,sizeof(aq));//清空aq op[k++]=str[i];//符号存入op j=0;}}num[l++]=atof(aq);op[k]='\0';puts(op);for(i=0;num[i]!='\0';i++)printf("%.2lf\t",num[i]);printf("\n");for(i=0;op[i]!='\0';i++){if(op[i]=='*'){for(j=i;op[j]!='\0';j++) op[j]=op[j+1];//符号递进 num[i]=num[i]*num[i+1];for(j=i+1;num[j]!='\0';j++)num[j]=num[j+1];//数字递进 i--; //符号前进i要退一 }//乘法运算 if(op[i]=='/'){for(j=i;op[j]!='\0';j++) op[j]=op[j+1];num[i]=num[i]/num[i+1];for(j=i+1;num[j]!='\0';j++)num[j]=num[j+1];i--;}//除法运算 }res=num[0];for(i=0;op[i]!='\0';i++){if(op[i]=='+')res=res+num[i+1];if(op[i]=='-')res=res-num[i+1];//进行加减运算 }printf("%.2lf",res);return 0;	} 

运行结果


http://www.ppmy.cn/news/231644.html

相关文章

C语言浙江省阶梯电价

描述 浙江省从2012年7月1日起执行新的阶梯电价标准&#xff0c;具体如下&#xff1a;从每年1月1日开始&#xff0c;执行一个新的计费周期&#xff1b; &#xff08;1&#xff09;全年累计用电量少于2760度&#xff08;千瓦时&#xff0c;下同&#xff09;的&#xff0c;按每度0…

如何安装油烟净化器?油烟净化器安装方法

油烟净化器安装得好不好直接会影响到净化效果的好坏&#xff0c;如果安装出错或是不合格&#xff0c;即使净化效率再高的油烟净化器也会因此受到影响&#xff0c;净化作用大大降低。那么如何安装油烟净化器呢&#xff1f; 安装油烟净化器是有一定的标准和要求的&#xff0c;这些…

c语言加减乘除简单计算器

#include<stdio.h> int main() { float a,b; char oper; printf("输入你想的运算符和数字\n"); printf("输入格式为a?b\n"); scanf("%f%c%f",&a,&oper,&b); switch(oper) { case:printf(&qu…

C语言简易计算器

用C语言实现简易计算器&#xff1a; #include <stdio.h>void main() {int a,b;char c; //&c存放符号printf("请选择运算“ - * /”\n");while(1){printf("输入运算符&#xff1a;");scanf("%c",&c);printf("输入两个数…

油烟在线监测仪|油烟监测设备|油烟在线监控系统厂家

一、云平台简介 1、概述 功能&#xff1a;餐饮业油烟是大气中挥发性有机物&#xff08;VOCS&#xff09;和PM10的主要来源之一。近年来随着环保治理的加强&#xff0c;各级政府不断强化餐饮经营商全覆盖安装油烟净化器工作&#xff0c;但在监管上仍存在一些问题和漏洞。&…

计算2^N(高精度计算)C语言

计算2^N&#xff08;高精度计算&#xff09;C语言 总时间限制: 1000ms 内存限制: 65536kB 描述 任意给定一个正整数N(N<100)&#xff0c;计算2的n次方的值。 输入 输入一个正整数N。 输出 输出2的N次方的值。 样例输入 5 样例输出 32 提示 高精度计算 分析 &…

C语言:加减乘除计算器

文章目录 通过命令参数实现计算器通过设计简单的UI界面操作计算使用函数指针数组存储计算函数 通过命令参数实现计算器 使用main函数的参数&#xff0c;实现一个整数计算器&#xff0c;程序可以接受三个参数&#xff0c;第一个参数“-a”选项执行加法&#xff0c;“-s”选项执…

C语言多功能计算器

开发一个多功能简易计算器&#xff0c;基本信息包括:四则运算、常见单位转换。 1.四则运算: (1)能识别用户输入的运算(加、减-、乘*、除/)表达式并计算&#xff0c;如:用户输入189219&#xff0c;按回车确定后可计算该加法运算的结果并打印输出&#xff0c;其它运算以此类推;…