本篇文章给大家谈谈c语言计算器程序代码,以及C语言计算器代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、用C语言编写一个计算器程序2、C语言 要求编写一个简单计算器的程序3、如何用c语言写计算器程序4、用C语言编写一个简单的计算器15、急求急急急急急求,急求用C语言编写一个计算器程序,代码量为三百行左右!!!!!在线等6、用C语言编写一个计算器程序,用选择和循环语句,要能够重复连续运算
用C语言编写一个计算器程序
#includestdio.h
#includewindows.h
#includemath.h
#define p 3.1415926
#define r p/180 //r=p/180,p=3.14….,p/180是求的1弧度,下面sin(里面要求的是弧度),sin(30弧度)=0.5。 void main()
{
float i,j,k;
int l,m,n,a[10];
char cmd;
LOOP:
system(“cls”);
printf(“***********************\n”);
printf(“*******小寒计算器******\n”);
printf(“***********************\n”);
printf(“\n\n本计算器提供+、-、*、/四种运算。\n”);
printf(“p-代表圆周率pai。\n”);
printf(“a-代表十进制转换为二进制。\n”);
printf(“b-代表十进制转换为八进制。\n”);
printf(“c-代表十进制转换为十六进制。\n”);
printf(“d-代表该数值开方。\n”);
printf(“e-代表该数值开立方。\n”);
printf(“f-代表求几次方。\n”);
printf(“S-代表sin。\n”);
printf(“C-代表cos。\n”);
printf(“T-代表tan。\n”);
printf(“\n\n请输入要计算的数字和运算符号,输入“#”时,结束;输入“!”时复位。\n”);
scanf(“%f”,k);
while((cmd=getchar())!=’#’)
{
if(i!=0)
switch(cmd)
{
case ‘+’: scanf(“%f”,i);
k=k+i;
printf(“=%5.2f”,k);
break; case ‘-‘: scanf(“%f”,i);
k=k-i;
printf(“=%5.2f”,k);
break; case ‘*’: scanf(“%f”,i);
k=k*i;
printf(“=%5.2f”,k);
break; case ‘/’: scanf(“%f”,i);
k=k/i;
printf(“=%5.2f”,k);
break;
case ‘p’: k=k*p;
printf(“%6.4f”,k);
break; case ‘f’: printf(“请输入要求该数字的几次方:”);
scanf(“%d”,n);
i=k;
for(m=0;mn-1;m++)
k=k*i;
printf(“%5.2f”,k);
break; case ‘a’: printf(“转换成二进制\n”);
m=0;
while((int)k0)
{
l=k;
k=k/2;
l=l%2;
a[m]=l;
m++;
}
for(n=m-1;n=0;n–)
printf(“%d”,a[n]);
break; case ‘b’: printf(“转换成八进制\n”);
m=0;
while((int)k0)
{
l=k;
k=k/8;
l=l%8;
a[m]=l;
m++;
}
for(n=m-1;n=0;n–)
printf(“%d”,a[n]);
break;
case ‘c’: printf(“转换成十六进制\n”);
m=0;
while((int)k0)
{
l=k;
k=k/16;
l=l%16;
a[m]=l;
m++;
}
for(n=m-1;n=0;n–)
{
if(a[n]==10)
{ printf(“A”);continue;}
else if(a[n]==11)
{ printf(“B”);continue;}
else if(a[n]==12)
{ printf(“C”);continue;}
else if(a[n]==13)
{ printf(“D”);continue;}
else if(a[n]==14)
{ printf(“E”);continue;}
else if(a[n]==15)
{ printf(“F”);continue;} printf(“%d”,a[n]);
}
break;
case ‘e’: printf(“该数值开立方得\n”);
i=pow(k,1.0/3);
printf(“%5.2f”,i );
break;
case ‘d’: printf(“该数值开方得\n”);
i=k/2;
j=sqrt(k);
printf(“%5.2f”,j);
break; case ‘S’: k=k*r;
i=sin(k);
printf(“%5.2f”,i);
break;
case ‘C’: k=k*r;
i=cos(k);
printf(“%5.2f”,i);
break; case ‘T’: k=k*r;
i=tan(k);
printf(“%5.2f”,i);
break; case ‘!’: goto LOOP;
}
}
}
C语言 要求编写一个简单计算器的程序
#includestdio.h
void main() { float x,y,z; char c;
scanf(“%f%c%f”,x,c,y);
switch ( c ) {
case ‘+’: z=x+y; break;
case ‘-‘: z=x-y; break;
case ‘*’: z=x*y; break;
case ‘/’: z=( y==0 )?(0):(x/y); break;
default: z=0; break;
}
printf(“%f%c%f=%f\n”,x,c,y,z);
}
如何用c语言写计算器程序
//实现计算机功能的程序 a program which can work the functions as a computer.
#include stdio.h//头文件
#include conio.h
void menu();//声明部分
void add();
void sub();
void mul();
void div();
void remain();
void add_n_to_m();
void factor();
main()
{
int i;
while(1)
{
system(“cls”);//清屏功能
menu();
printf(“choose function:”);
scanf(“%d”,i);
switch(i)
{
case 1:add();getch();break;//调用部分
case 2:sub();getch();break;
case 3:mul();getch();break;
case 4:div();getch();break;
case 5:remain();getch();break;
case 6:add_n_to_m();getch();break;
case 7:factor();getch();break;
case 8: exit(0);break;
}
}
}
//以下是自己定义的函数
void menu()//菜单
{
printf(“+====my counter===+\n”);
printf(“+功能如下: +\n”);
printf(“+ 1.加法 +\n”);
printf(“+ 2.减法 +\n”);
printf(“+ 3.乘法 +\n”);
printf(“+ 4.除法 +\n”);
printf(“+ 5.求余 +\n”);
printf(“+ 6.从n到m的和+\n”);
printf(“+ 7.阶乘 +\n”);
printf(“+ 8.退出 +\n”);
printf(“+=================+\n”);
}
void add()//加法运算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
printf(“%lf+%lf=%lf\n”,a,b,a+b);
}
void sub()//减法运算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
printf(“%lf-%lf=%lf\n”,a,b,a-b);
}
void mul()//乘法运算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
printf(“%lf*%lf=%lf\n”,a,b,a*b);
}
void div()//除法运算
{
double a,b;
printf(“input two numbers:”);
scanf(“%lf%lf”,a,b);
if(b==0)//被除数不能为0
printf(“error\n”);
else
printf(“%lf/%lf=%lf\n”,a,b,a/b);
}
void remain()//求余运算
{
int a,b;
printf(“input two numbers:”);
scanf(“%d%d”,a,b);
if(b==0)//被除数不能为0
printf(“error\n”);
else
printf(“%d%%%d=%d\n”,a,b,a%b);
}
void add_n_to_m()//累加
{
int m,n,i=0,s=0;
printf(“input n and m:”);
scanf(“%d%d”,n,m);
if(nm) printf(“error.\n”);//条件限制
else
{
for(i=n;i=m;i++)
s+=i;
printf(“%d+…+%d=%d\n”,n,m,s);
}
}
void factor()//阶乘
{
int n,i,s;
printf(“input a number:”);
scanf(“%d”,n);
if(n=0) printf(“error.\n”);//条件限制
else
{
for(i=1,s=1;i=n;i++)
s*=i;
printf(“%d!=%d\n”,n,s);
}
}
用C语言编写一个简单的计算器1
#includestdio.h
int main() {
double num1 = 0; //输入1
double num2 = 0; //输入2
char ch; //操作
double ret = 0; //结果 printf( “输入第一个数:” );
scanf( “%lf”, num1 );
printf( “输入第二个数:” );
scanf( “%lf”, num2 );
printf( “操作[+ – * /]:” );
getchar();
scanf( “%c”, ch ); switch( ch ) {
case ‘+’:
ret = num1 + num2;
break;
case ‘-‘:
ret = num1 – num2;
break;
case ‘*’:
ret = num1 * num2;
break;
case ‘/’:
ret = num1 / num2;
break;
default:
break;
}
printf( “结果:%.2lf\n”, ret ); return 0;
} 写个简单易懂的,你操作计算器的步骤就是编写程序的思路呀
急求急急急急急求,急求用C语言编写一个计算器程序,代码量为三百行左右!!!!!在线等
#include stdlib.h#include stdio.h#include string.h#define MAXOP 100#define NUMBER ‘0’ //标识读入的是数字#define NAME ‘n’ //标识读入的是字符串(函数名或非法字符串)#define ALPHA 26 int getop(char []);
void push (double); //压栈double pop(void); //出栈void clear(void); //清空栈void mathfnc(char []); //执行相应的数学函数sin、cos、exp等int main(void)
{ int type; int i, var = 0; double op1, op2,v; char s[MAXOP]; double variable[ALPHA]; for (i = 0; i ALPHA; i++) //初始化用于保存数值的变量数组
variable[i] = 0.0; while ((type = getop(s)) != EOF) //读取输入
{ switch (type)
{ case NUMBER:
push (atof(s)); break; case NAME:
mathfnc(s); break; case ‘+’:
push (pop() + pop()); break; case ‘*’:
push (pop() * pop()); break; case ‘-‘:
op2 = pop();
push (pop() – op2); break; case ‘/’:
op2 = pop(); if (op2 != 0.0)
push (pop() / op2); else
printf (“error: zero divisor\n”); break; case ‘%’:
op2 = pop(); if (op2 != 0.0)
push (fmod(pop(), op2)); else
printf (“error: zero divisor\n”); break; case ‘?’: //打印栈顶元素
op2 = pop(); printf (“\t%.8g\n”, op2);
push (op2); break; case ‘=’: //保存数值
pop(); if (var = ‘A’ var = ‘Z’)
variable[var – ‘A’] = pop(); else
printf (“error: no variable name\n”); break; case ‘c’:
clear(); break; case ‘d’: //复制栈顶元素
op2 = pop();
push(op2);
push(op2); break; case ‘s’: //交换栈元素
op1 = pop();
op2 = pop();
push(op1);
push(op2); case ‘\n’:
v = pop(); //v保存最后的一次结果
printf (“\t%.8g\n”, v); break; default: if (type = ‘A’ type = ‘Z’)
push(variable[type – ‘A’]); else if (type == ‘@’) //输入的字符@表示最近一次结果值
push(v); else
printf (“error: unknown command %s\n”, s); break;
}
var = type;
} return 0;
}/* ———————————————————– */#define MAXVAL 100int sp = 0; //标识栈顶double val[MAXVAL];void push(double f)
{ if (sp MAXVAL)
val[sp++] = f; else
printf (“error: stack full, can’t push %g\n”, f);
}double pop(void)
{ if (sp 0) return val[–sp]; else
{ printf (“error: statck empty\n”); return 0.0;
}
}void clear(void)
{
sp = 0;
}void mathfnc (char s[])
{ double op2; if (strcmp (s, “sin”) == 0)
push(sin(pop())); else if(strcmp (s, “cos”) == 0)
push(cos(pop())); else if(strcmp (s, “exp”) == 0)
push(exp(pop())); else if(strcmp (s, “pow”) == 0)
{
op2 = pop();
push (pow(pop(), op2));
} else
printf (“error: %s not supported\n”, s);
}/* ———————————————————– */#include ctype.hint getch(void);void ungetch(int);int getop(char s[])
{ int i, c; while ((s[0] = c = getch()) == ‘ ‘ || c == ‘\t’) //过滤开头的空白字符
;
s[1] = ‘\0’;
i = 0; if (islower(c)) //判断是否为小写字母,也即读取由小写字母组成的字符串
{ while (islower(s[++i] = c = getch()))
;
s[i] = ‘\0’; if (c != EOF)
ungetch(c); if (strlen (s) 1) return NAME; else
return c;
} if (!isdigit(c) c != ‘.’ c != ‘-‘) return c; if (c == ‘-‘) //用于判断是负数还是减操作
{
if (isdigit(c = getch()) || c == ‘.’)
s[++i] = c; else
{ if (c != EOF)
ungetch(c); return ‘-‘;
}
} if (isdigit(c)) //收集整数部分
while (isdigit(s[++i] = c = getch()))
; if (c == ‘.’) //收集小数部分
while (isdigit(s[++i] = c = getch()))
;
s[i] = ‘\0’; if (c != EOF)
ungetch(c); return NUMBER;
}/* ———————————————————– *//*
* 引用以下两个函数是因为:程序不能确定它已经读入的输入是否足够 *
* 除非超前多读入一些输入,在本程序中,读入一些字符合成一个数字 *
* 所以在看到第一个非数字字符之前,已经读入的数的完整性是不能确定的
* 由于程序要超前读入一个字符,这样就导致最后又一个字符不属于当前所要读入的数
*/#define BUFSIZE 100char buf[BUFSIZE];int bufp = 0;int getch(void)
{ return (bufp 0) ? buf[–bufp] : getchar();
}void ungetch (int c)
{ if (bufp = BUFSIZE) printf (“ungetch: too many characters\n”); else
buf[bufp++] = c;
}
用C语言编写一个计算器程序,用选择和循环语句,要能够重复连续运算
void
main()
{
int
a,b,result;
char
m;
printf(“请输入需要计算的数:\n”);
scanf(“%d
%d”,a,b);
printf(“请输入加、减、乘或除\n”);
scanf(“%c”,m);
if(m==”+”)
//判断是否进行加法运算,以下同理
result=a+b;
else
if(m==”-“)
result=a-b;
elsee
if(m==”*”)
result=a*b;
else
if(m==”/”)
result=a/b;
else
printf(“您输入有误\n”);
//如果输入的符号非加减乘或是除,报错
printf(“计算结果为:%d\n”,result);
//最后输出结果
}
关于c语言计算器程序代码和C语言计算器代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。