⑴ 用c语言编写一个简单的加减乘除计算器,要求如图
#include<stdlib.h>
#include<string.h>
intCalculate(char*input,float*ret)
{
intreturnRet=0;
floatnum1,num2,symbol;
intlen=strlen(input);
char*num1Str=(char*)malloc(sizeof(char)*len);
char*num2Str=(char*)malloc(sizeof(char)*len);
memset(num1Str,0,len);
memset(num2Str,0,len);
intgetSymbol=0;
for(inti=0,j=0;i<len;i++)
{
if(input[i]=='+'||input[i]=='-'||input[i]=='*'||input[i]=='/')
{
symbol=input[i];
getSymbol=1;
continue;
}
if(getSymbol==0)
num1Str[i]=input[i];
else
num2Str[j++]=input[i];
}
num1=atof(num1Str);
num2=atof(num2Str);
if(symbol=='+')
*ret=num1+num2;
elseif(symbol=='-')
*ret=num1-num2;
elseif(symbol=='*')
*ret=num1*num2;
if(symbol=='/')
{
if(num2!=0)
*ret=num1/num2;
else
returnRet=1;//dataerror
}
free(num2Str);
free(num1Str);
returnreturnRet;
}
intmain(void)
{
floatret;
charinput[100];
memset(input,0,sizeof(input));
scanf("%s",input);
if(Calculate(input,&ret)==0)
printf("%.2f",ret);
else
printf("dataerro");
return0;
}
⑵ 用C语言编写一个简单加减乘除的程序
#include
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
main()
{
int
a,b,c,d,result,i;
char
f[]={'+','-','*','/'};
while(1)
{
srand(time(NULL));
a=rand()%100;
b=rand()%100;
c=rand()%4;
switch
(c)
{
case
0:
d=a+b;break;
case
1:
d=a-b;break;
case
2:
d=a*b;break;
case
3:
d=a/b;break;
}
printf("输入结果:%d%c%d=",a,f[c],b);
i=0;
while
(i<2)
{
scanf("%d",&result);
if
(result==d&&i<2)
{printf("你答对了^_^\n");
break;
}
else
i++,printf("你答错了%d次:",i);
if
(i==2)
{printf("\n答案:%d\n",d);}
}
}
}
⑶ C语言计算加减乘除
简单写了一个如下:
#include<stdio.h>
#include<string.h>
intmain()
{
doublea,b;
charop;
scanf("%lf%c%lf",&a,&op,&b);
if(op=='+'){
printf("%g+%g=%g",a,b,a+b);
}
elseif(op=='-'){
printf("%g-%g=%g",a,b,a-b);
}
elseif(op=='*'){
printf("%g*%g=%g",a,b,a*b);
}
elseif(op=='/'){
printf("%g/%g=%g",a,b,a/b);
}
return0;
}
⑷ 用C语言编写一个能加减乘除的程序
如果要输入加减乘除字符串然后输出结果 那网络搜索 C语言 四则运算 应该有很多源码
⑸ c语言 加减乘除 顺序
先加减后乘除。
C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是 %。
不同类型的除数和被除数会导致不同类型的运算结果:
当除数和被除数都是整数时,运算结果也是整数;如果不能整除,那么就直接丢掉小数部分,只保留整数部分,这跟将小数赋值给整数类型是一个道理。一旦除数和被除数中有一个是小数,那么运算结果也是小数,并且是 double 类型的小数。
(5)c语言简单加减乘除扩展阅读
取余,也就是求余数,使用的运算符是 %。C语言中的取余运算只能针对整数,也就是说,% 的两边都必须是整数,不能出现小数,否则编译器会报错。
另外,余数可以是正数也可以是负数,由 % 左边的整数决定:
如果 % 左边是正数,那么余数也是正数;
如果 % 左边是负数,那么余数也是负数。
⑹ C语言实现加减乘除运算
按照你的程序运行后。。。在输入c值的时候
程序直接结束了。。。还有就是每个case语句后记着加上break跳出不过也有不过根据具体需要也可以不加break;但是你的这个程序需要加上break;
原因是:回车符也是字符,所以你按回后,程序以为是输入了c的值了,而在输入b值成功是因为
回车符不是数字形式的。
以下是我改过的程序,编译运行都很好的
#include <stdio.h>
#include <math.h>
void main()
{
float a,b;
char c;
printf("\n input a:");
scanf("%f",&a);
printf("\n input b:");
scanf("%f",&b);
//这种情况经常遇到。。。。输入完后回车被下一个scanf("%c",&c)捕获了。
//因为回车符也是字符,所以你按回车后,程序以为是输入了c的值了
//所以加上下面一行,把回车符取走就可以了。。。。
getchar();
printf("\n input c:");
scanf("%c",&c);
//printf("\n%c",c);
switch(c)
{
case '+': printf("a+b=%f",a+b);break;
case '-': printf("a-b=%f",a-b);break;
case '*': printf("a*b=%f",a*b);break;
case '/': printf("a/b=%f",a/b);break;
default: break;
}
//为了好看
printf("\n");
}
⑺ 求加减乘除c语言代码
加减乘除还有什么代码啊。
直接 变量名+运算符+变量名就可以了啊。
注意除法 /是整除符号,如果符号两边都是整数(int型),那么结果值保留整数,小数将被忽略。 如果要精确到小数,'/'两边至少有一个是浮点数(float或double)。
注意混合运算结果是按照表达式中数据表达范围最大的数据类型,例如:整数和浮点数混合运算,结果返回是浮点数。
⑻ 简单的c语言加减乘除运算
#include"stdio.h"
intchuli(inti);
voidmain()
{
inta=0,i=0,x=0,u=0,s[100],zi,b=0;
charc,f[100];
for(i=0;;i++)
{
for(x=0;(c=getchar())>='0'&&c<='9';x++)
{
u=c-'0';
if(x==0)
zi=u;
elsezi=zi*10+u;
}
s[a]=zi;
if(c!='['&&c!=']')
f[a++]=c;
if(c=='[')
s[0]=chuli(i);
if(c=='=')
break;
}
for(a=0;a<=i;a++)
{
x=a+1;
if((f[a]=='*'||f[a]=='/')&&b==0){u=a;b=1;}
if(f[a]=='+'||f[a]=='-')b=0;
if(f[a]=='*'){s[u]=s[u]*s[x];f[a]='+';s[x]=0;}
if(f[a]=='/'){s[u]=s[u]/s[x];f[a]='+';s[x]=0;}
}
for(a=0;a<=i;a++)
{
x=a+1;
if(f[a]=='+'){s[0]=s[0]+s[x];}
if(f[a]=='-'){s[0]=s[0]-s[x];}
}
printf("%d",s[0]);
}
intchuli(inti)
{
intshu[100],d=0,f=0,g=0,ha,l=0,q=0;
charw,fu[100];
for(d=0;;d++)
{
for(f=0;(w=getchar())>='0'&&w<='9';f++)
{
g=w-'0';
if(f==0)ha=g;
elseha=ha*10+g;
}
shu[l]=ha;
if(w!='['&&w!=']')fu[l++]=w;
if(w==']')break;
}
for(l=0;l<=d;l++)
{
g=l+1;
if((fu[l]=='*'||fu[l]=='/')&&q==0){f=l;q=1;}
if(fu[l]=='+'||fu[l]=='-')q=0;
if(fu[l]=='*'){shu[f]=shu[f]*shu[g];fu[l]='+';shu[g]=0;}
if(fu[l]=='/'){shu[f]=shu[f]/shu[g];fu[l]='+';shu[g]=0;}
}
ha=shu[0];
for(l=0;l<=d;l++)
{
g=l++;
if(fu[l]=='+')ha=ha+shu[g];
if(fu[l]=='-')ha=ha-shu[g];
}
ha=99;
printf(" %d ",ha);
returnha;
}
⑼ 用c语言编写一个简易加减乘除运算,最好加上中文解释,谢谢
#include <stdio.h>//望采纳!!!
int main(void)
{
int a,b,c;//a为数一,b为数二,c用来保存运算结果
char ch,yn;
do {
printf ("请输入数1:");
scanf("%d",&a);
rewind(stdin);//清空键盘缓冲区
printf("请输入数2:");
scanf("%d",&b);
rewind(stdin);
printf("请输入运算符(+,-,*,/):");
scanf("%c",&ch);
rewind(stdin);
while(ch != '+' && ch != '-'&& ch != '*'&& ch != '/')//判断输入的运算符是否符合,直到正确为止
{
printf("您输入的运算符有误!!!请重新输入!!!\n");//提示错误信息
printf("请输入运算符(+,-,*,/):");
scanf("%c",&ch);
rewind(stdin);
}
if(ch=='+')
{
c=a+b;
if(c>1000)
{
printf("计算错误,结果超出范围(结果不能大于1000)!!!\n");
}
else{
printf("%d+%d=%d",a,b,c);
}
}
if(ch=='-')
{
c=a-b;
if(c<0)
{
printf("计算错误,结果超出范围(结果不能小于0)!!!\n");
}
else{
printf("%d-%d=%d",a,b,c);
}
}
if(ch=='*')
{
c=a*b;
if(c>1000)
{
printf("计算错误,结果超出范围(结果不能大于1000)!!!\n");
}
else{
printf("%d*%d=%d",a,b,c);
}
}
if(ch=='/')
{
c=a/b;
if(c<0)
{
printf("计算错误,结果超出范围(结果不能小于0)!!!\n");
}
else{
printf("%d/%d=%d",a,b,c);
}
}
printf("是否继续使用本程序?(y/n):");
scanf("%c",&yn);
rewind(stdin);
}while(yn=='y' || yn=='Y');
}
⑽ 怎样用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器
用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器的方法:
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File;