c语言计算器加减乘除
㈠ c语言 简单的计算器 只需要进行 加减乘除的运算 谢谢大神!!!
int main()
{
char exp[8];
printf("enter exp:\n");
scanf("%s",exp); //输入类似于1+1 2*5这样的式子,一次一个
switch(exp[1]){
case '+':
printf("%d\n",exp[0]-'0'+exp[2]-'0'); break;
case '-':
printf("%d\n",exp[0]-exp[2]); break;
case '*':
printf("%d\n",(exp[0]-'0')*(exp[2]-'0')); break;
case '/':
printf("%f\n",(exp[0]-'0')*1.0/(exp[2]-'0')*1.0); //1.0是为了转化成浮点数好得到小数结果
};
return 0;
}
㈡ c语言计算器加减乘除流程图
大概就是这个样了.和你的程序对程的.
㈢ C语言简易科学计算器加减乘除括号
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
inti,j,h,g,num[20]={0},z,m,n,s;//num[20]可以这样初始化
charch[80],r,sign[20];
gets(ch);//字符串输入
for(i=0;i<strlen(ch);i++)
{
s=0;
switch(ch[i])
{
case'+':sign[s]='+';s++;break;//缺少break;
case'-':sign[s]='-';s++;break;
case'*':sign[s]='*';s++;break;
case'/':sign[s]='/';s++;break;
case'(':sign[s]='(';s++;break;
case')':sign[s]=')';s++;break;
}
}/*读入符号*/
do{
m=0;
num[m]=atoi(ch);
n=sizeof(num[0]);
for(i=n+2;i<=(z-n-2);i++)
{
ch[i-n-2]=ch[i];
}
m++;
}while(ch[0]==' ');/*进行数字的读入转换*/
/////发现下面好多死循环,怎么可能会有结果呢////////////////
for(i=0;;i++)/*开始进行计算*/
{
if(sign[i]=='(')
{
for(j=i+1;j<=z;j++)
{
if(sign[j]==')')
{
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)//死循环
{
num[g]=num[g+1];
}
}
}
}
}
}
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)//死循环
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)//死循环
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)//死循环
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
}
printf("%d ",num[0]);
r=getchar();
return0;
}
㈣ 怎样用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器
用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器的方法:
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File;
㈤ c语言计算器加减乘除
#include<stdio.h>
intmain(){
doublea,b,d=0.0;
charc;
while(1){
printf("输入一个算式,如:1+2:");
scanf("%lf%c%lf",&a,&c,&b);
intf=1;
switch(c){
case'-':
d=a-b;
break;
case'+':
d=a+b;
break;
case'*':
d=a*b;
break;
case'/':
d=a/b;
break;
default:
f=0;
printf("没有这个运算符号! ");
break;
}
if(f==1){
printf("结果:%lf ",d);
}
}
return0;
}
㈥ 怎样用C语言编写计算器的加减乘除
#include<stdio.h>
void main()
{
float a,b;
char d;
printf("请输入两个数a,b:");
scanf("%f,%f"&a,&b);
printf("请输入运算符号d");
scanf("%c",d);
switch(d)
{
case'+':printf("%f\n",a+b);break;
case'-':printf("%f\n",a-b);break;
case'*':printf("%f\n",a*b);break;
case'/':printf("%f\n",a/b);break;
default:printf("计算出错\n");
}
}
㈦ 用C语言编写一个简单的加减乘除计算器,要求如图
#include<stdio.h>
voidmain(){floata,b,c;chard,e;
scanf("%f%c%f",&a,&d,&b);e=1;
switch(d){
case'+':c=a+b;break;
case'-':c=a-b;break;
case'*':c=a*b;break;
case'/':if(b==0)e=0;elsec=a/b;break;
default:e=0;break;
}
if(e)printf("%.2f
",c);elseprintf("dataerro
");
}
㈧ C语言 编译计算器可以分别计算加减乘除
#include<stdio.h>
#defineCLR_INTPUTwhile(getchar()!=' ')
intmain(void)
{
charch;
floatnum1,num2;
doublenum;
printf("输入方式为(例n*n) ");
while(1)
{
while(scanf("%f",&num1)!=1)//确保输入数据正确
{
printf("输入有误,请重新输入第一个数 ");
CLR_INTPUT;
}
getchar();//清除空格符
while(scanf("%c",&ch)==1)
{
if(ch!='+'&&ch!='-'&&ch!='*'&&ch!='/')
{
printf("输入有误,请重新输入运算操作 ");
CLR_INTPUT;
continue;
}
break;
}
getchar();//清除空格符
while(scanf("%f",&num2)!=1)
{
printf("输入有误,请重新输入第二个数 ");
CLR_INTPUT;
}
CLR_INTPUT;//清除输入缓冲
switch(ch)
{
case'+':num=num1+num2;
break;
case'-':num=num1-num2;
break;
case'*':num=num1*num2;
break;
case'/':num=num1/num2;
break;
default:printf("输入运算有误 ");
}
printf("%.2f%c%.2f=%.4lf ",num1,ch,num2,num);
}
return0;
}
程序还是有些BUG,对用户输入出错提示的不够。
㈨ 用C语言做一个计算器,能实现加减乘除混合运算
用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器的方法:
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File;
㈩ 用c语言编写计算器有取余 阶乘的 还有加减乘除的
给你一个全的:
#include<stdio.h>
#include<windows.h>
#include<math.h>
double EPS=10E-6;
double sum(double a,double b)
{
return a+b;
}
double sub(double a,double b)
{
return a-b;
}
double mul(double a,double b)
{
return a*b;
}
double divv(double a,double b)
{
return a/b;
}
int rem(int a , int b)
{
return a%b;
}
int addnumber(int c,int d)
{
int sum=0;
for(int i=c;i<=d;i++)
{
sum+=i;
}
return sum;
}
int factor(int n)
{
int f=1;
for(int i=1;i<=n;i++)
{
f*=i;
}
return f;
}
void displaymenu()
{
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n");
printf("*############高级计算器############* \n");
printf("************************************ \n");
printf("* ①加法运算 * \n");
printf("* ②减法运算 * \n");
printf("* ③乘法运算 * \n");
printf("* ④除法运算 * \n");
printf("* ⑤取余运算 * \n");
printf("* ⑥累加运算 * \n");
printf("* ⑦阶乘运算 * \n");
printf("* ⊙结束运算 * \n");
printf("************************************ \n");
printf("************************************ \n");
}
void main()
{
int c,d; /*用于做四则运算的两个数值的说明*/
double a,b; /*用来做累加函数的两个参数值的说明*/
int intresult;
double result; /*用于保存表单运算中函数的返回值*/
int choice;
displaymenu();/*保存用户选择项目菜单项*/
while(1)
{
printf("请选择你所进行运算项目的符号:");
scanf("%d",&choice);
switch(choice)
{
case 1: /*加法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sum(a,b);
printf("%lf+%lf的计算结果是:%lf\n",a,b,result);
break;
case 2: /*减法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sub(a,b);
printf("%lf-%lf的计算结果是:%lf\n",a,b,result);
break;
case 3: /*乘法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=mul(a,b);
printf("%lf*%lf的计算结果是:%lf\n",a,b,result);
break;
case 4: /*除法计算*/
{
scanf("%lf%lf",&a,&b);
if(b-0.0<EPS) printf("数字错误\n");
else
{
printf("请输入两个数字:");
result=divv(a,b);
printf("%lf/%lf的计算结果是:%lf\n",a,b,result);
}
break;
}
case 5: /*取余计算*/
printf("请输入两个数字:");
scanf("%d%d",&c,&d);
result=rem(c,d);
printf("%d % %d的计算结果是:%d\n",c,d,result);
break;
case 6: /*累加计算*/
printf("请输入两个整数");
scanf("%d%d",&c,&d);
intresult=addnumber(c,d);
printf("%d-%d的累加计算结果是:%d\n",c,d,intresult);
break;
case 7: //阶乘计算
{
printf("请输入一个大于0小于10的整数字");
scanf("%d",&c);
if(c<0||c>10)
{
printf("请输入一个大于0小于10的整数字,数据错误。\n");
break;
}
intresult=factor(c);
printf("%d的阶乘计算结果是:%d\n",c,intresult);
break;
}
case 0:
printf("谢谢使用。欢迎下次再用。\n");
return ;
default:
printf("选择错误,程序结束\n");
break;
}
}
}