c语言计算器程序代码(C语言计算器代码)

本篇文章给大家谈谈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语言计算器程序代码(C语言计算器代码)

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语言计算器代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月3日 02:43:23
下一篇 2024年4月3日 02:52:40

相关推荐

  • c语言改写模式,c语言实现修改功能

    c语言程序修改? 1、这个程序有4个错误,我都加粗了,第一个是m没有赋初值,第二个是while表达式中的ch=getchar()需要括号括起来,第三个是m=m*10+ch-0中的0也需要用单引号括起来,第四个是第2个while中为m!=0。 2、define容易造成误会,因为不符合一般的编程习惯,false 0, true 1;scanf放在你的那个地方是达…

    2024年5月23日
    3900
  • c语言控制代码的换码序列,c语言交换代码

    求C语言编程大神解答一下下面这个编程代码? k==5,用5去除125余0,所以r=125%5中r为0。由于!0为1,所以执行while循环体:先打印出5(k的值),再n=n/k==125/5=25;由于251则再打印出*号。这一循环结果输出是5*。 下面是我的代码,三个函数分别对应三个问题。 在实现基本要求的前提下,拓展了可以从键盘输入的功能,以下为各题代码…

    2024年5月23日
    5600
  • c语言扫描io脚状态,c语言端口扫描

    求51单片机的上升沿和下降沿C语言检测程序列子,端口就是普通IO口。 上升沿触发是当信号有上升沿时的开关动作,当电位由低变高而触发输出变化的就叫上升沿触发。也就是当测到的信号电位是从低到高也就是上升时就触发,叫做上升沿触发。 单片机怎么计算1s内下降沿的个数的C语言程序或者计算两个下降沿的时间(检测脉冲频率)计算1s内下降沿的个数方法是,一个定时器设置定时1…

    2024年5月23日
    4400
  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4400
  • c语言三位小数,C语言三位小数

    怎样用C++语言输出精确到小数点后三位的数? 1、用C++语言输出精确到小数点后三位的数,可以参考下面给出的代码:coutsetiosflags(ios:fixed)setprecision(3)。其中 setiosflags中set是设置的意思。ios是iostream的缩写,即输入输出流。flags是标志的意思。 2、要精确到小数点后若干位,则数据类型为…

    2024年5月23日
    7200
  • c语言21点游戏,二十一点游戏代码c语言

    如何使用C语言编写简单小游戏? 1、数学知识:长方形的面积S=a*b 长方形周长L=2*(a+b)其中a b分别为长方形的宽和高。算法分析:长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。 2、/*也不知道你是什么级别的,我是一个新手,刚接触编程语言,以下是我自己变得一个小程序,在所有c语言的编译器(vc++0、turbo…

    2024年5月23日
    6300
  • c语言当中的null,C语言当中的符号

    C/C++中,NULL和null的区别是什么? nul 和 null要看编译器,不同的编译器有所区别。 所以C或者C++中都使用一个特殊定义NULL表示无效值,其本质就是未定义具体数据类型的0值。 null是是什么都没有的意思。在java中表示空对象。 本意是“空的;元素只有零的”意思。计算机中通常表示空值,无结果,或是空集合。\x0d\x0a在ASCII码…

    2024年5月23日
    4500
  • 包含c语言对txt文件命名的词条

    如何在C语言编程里面修改源文件名字 如果你是在WINDOWS的话,简单了,随便用个编辑器,比如记事本,然后写c源程序,保存到你想要保存的位置。如果你在DOS下,可以用edit,写好以后,按alt键,选择文件菜单,然后保存。 用open打开文件,注意操作模式使用“修改”或者“添加” 用write或者fprintf向文件中写入你的内容。 用close关闭文件。 …

    2024年5月23日
    4800
  • 学c语言编程,学c语言编程用什么软件

    编程开发必须要学C语言吗? 1、要学习。编程开发的学习内容主要包括c语言、python和c+语言。C语言作为一种简单灵活的高级编程语言,它是一个面向过程的语言,一般是作为计算机专业的基础入门语言课程。 2、C语言。对于刚接触编程的人来说,先学习C语言是非常重要的。C语言可以说是是计算机编程语言的鼻祖,其他的编程语言几乎全是由C语言变化衍生出来的。 3、不需要…

    2024年5月23日
    3400
  • c语言用string定义字符串,c语言中用string类型来处理字符串类型

    C++怎样定义定义字符串 1、第一是字符数组来表示字符串。用下面的语句声明:char a[10];C语言中字符数组与字符串的唯一区别是字符串末尾有一个结束符\0,而字符数组不需要。 2、在C中定义字符串有下列几种形式:字符串常量,char数组,char指针 字符串常量 即:位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志\0字符,作为 …

    2024年5月23日
    4300

发表回复

登录后才能评论



关注微信