A. 计算器的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;
}
B. 急求用c语言编写一个只有加减乘除的循环计算器最好有程序分析
#include<stdio.h>//望采纳!!!
intmain(void)
{
doublea,b;
charch,yn;
do{
printf("请输入运算式子:");
scanf("%lf%c%lf",&a,&ch,&b);
switch(ch)
{
case'+':printf("%lf%c%lf=%lf ",a,ch,b,a+b);break;
case'-':printf("%lf%c%lf=%lf ",a,ch,b,a-b);break;
case'/':printf("%lf%c%lf=%lf ",a,ch,b,a/b);break;
case'*':printf("%lf%c%lf=%lf ",a,ch,b,a*b);break;
default:printf("式子输入错误!请以(数1+数2)这种格式输入!");
}
fflush(stdin,NULL);
printf("计算完毕!是否再次使用?y/n:");
scanf("%c",&yn);
if(yn=='y'||yn=='Y')
{printf("欢迎再次使用 ");continue;}
else{printf("感谢使用本计算器!本次服务到此结束! ");break;}
}
while(1);
}
C. c语言中如何对字符型进行加减乘除
加减可以,乘除应该也可以。其实字符型做四则运算就是对这个字符的ASCII码进行运算,所以不用转换
D. C语言怎么实现循环加减乘除
对判断条件flag赋值语句要放在while里面 不然while不会跳出来的 而且干嘛写这么多的return 0,只保留最后一个就好了
E. 简单的c语言程序,可以运算两个数之间的加减乘除 用do while或者for可以实现吗
#include<stdio.h>
int main(void)
{
float a,b;
while(1)
{
printf("请输入a:\n");
scanf("%f",&a);
printf("请输入运算符:\n");
char ch;
scanf("%c",&ch);
printf("请输入b:\n");
scanf("%f",&b);
switch(ch)
{
case '+': printf("%f+%f=%f\n",a,b,a+b); break;
case '-': printf("%f-%f=%f\n",a,b,a-b); break;
case '*': printf("%f*%f=%f\n",a,b,a*b); break;
case '/': printf("%f/%f=%f\n",a,b,a/b); break;
default:break;
}
}
return 0;
}
F. 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");
}
G. 我做了一个简单的C语言 加减乘除,但是只能算一次就结束了,怎么让它循环一直加减乘除,谢谢~
最简单的方法
intmain()===>改成intcalc()
intmain()
{
while(calc()==0);
return0;
}
然后,
printf("1:加2:减3:乘4:除 ");==》printf("0:退出1:加2:减3:乘4:除 ");
scanf("%d",&m);
if(m==0){
return1;
}
H. 怎样用c语言实现对数及其加减乘除的运算
添加头文件#include "math.h",声明双精度浮点变量,然后调用库函数log或log10就可以了。如:
#include "stdio.h"
#include "math.h"
void main(void){
double x,sum=0.0;
int i;
for(i=1;i<101;i++)
sum+=log10(i);
printf("%f\n",sum);
x=sum+log(3)/log(2)+log10(7)-log(105)-log10(2)*log10(7);
}
这代码求出了log1+log2+log3+...+log100的值。而x=sum+log(3)/log(2)+log10(7)-log(105)-log10(2)*log10(7);进行了常用对数(log10)和自然对数(log)的四则运算,并计算结果赋给了双精度变量x。
I. 简单的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;
}
J. 用c语言写一个可以加减乘除的计算器,可循环的
学了十天写出的第一个小作品
#include <stdio.h>
int main()
{
float a;
char c;
float b=0;
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
while(c != '#')
{
if (c == '+')
{
printf("%f\n",a+b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
else if(c == '-')
{
printf("%f\n",a-b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
else if(c == '*')
{
printf("%f\n",a*b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
else if(c == '/')
{
if(b != 0)
{
printf("%f\n",a/b);
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
else{
printf("error");
}
}
else
{
printf("input error\n");
printf("please input a");
scanf("%f", &a);
getchar();
printf("please input c");
scanf("%c", &c);
printf("please input b");
scanf("%f", &b);
}
}
return 0;
}