怎么用C语言程序设计一个简单计算器?

默认分类 未结 1 1670
_Fashion_yoyo
_Fashion_yoyo 2023-03-16 22:16
相关标签:
1条回答
  • 2023-03-16 22:47

    #include<stdio.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 ",x,c,y,z);

    }

    C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

    二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

    已发送,望采纳 #include //头文件#include #include void menu();//声明部分void add();//"+"void sub();//"-"void mul();//"*"void div();//"/"void remain();//"%"void add_n_to_m();//"从n到m的和"void factor();//"!"void sqrta();//"开根"main(){ int i; while(1) { system("cls");//清屏功能 menu(); printf("请选择运算方式的代码:"); 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:sqrta();getch();break; case 9: exit(0);break; } }}//以下是自己定义的函数void menu()//菜单{printf("+====my counter===+\n"); printf("使用以下运算时请先输入运算代码:\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("+ 9.退出 +\n"); printf("+=================+\n");}void add()//加法运算{ double a,b; printf("请输入要计算的两个数:\n"); scanf("%lf%lf",&a,&b); printf("%.2lf+%.2lf=%.2lf\n",a,b,a+b);}void sub()//减法运算{ double a,b; printf("请输入要计算的两个数:\n"); scanf("%lf%lf",&a,&b); printf("%.2lf-%.2lf=%.2lf\n",a,b,a-b);}void mul()//乘法运算{ double a,b; printf("请输入要相乘的两个数:\n"); scanf("%lf%lf",&a,&b); printf("%.2lf*%.2lf=%.2lf\n",a,b,a*b);}void div()//除法运算{ double a,b; printf("请输入要计算的除数和被除数:\n"); scanf("%lf%lf",&a,&b); if(b==0)//被除数不能为0 printf("error\n"); else printf("%.2lf/%.2lf=%.2lf\n",a,b,a/b);}void remain()//求余运算{ int a,b; printf("请输入要计算的除数和被除数:\n"); scanf("%d%d",&a,&b); if(b==0)//被除数不能为0 printf("error\n"); else printf("%.2d%%%.2d=%.2d\n",a,b,a%b);}void add_n_to_m()//累加{ int m,n,i=0,s=0; printf("请输入累积和的首数和尾数:\n"); scanf("%d%d",&n,&m); if(n>m) printf("error.\n");//条件* else { for(i=n;i<=m;i++) s+=i; printf("%.2d+...+%.2d=%.2d\n",n,m,s); }}void factor()//阶乘{ int n,i,s; printf("请输入要计算阶乘的数:\n"); scanf("%d",&n); if(n<=0) printf("error.\n");//条件* else { for(i=1,s=1;i<=n;i++) s*=i; printf("%.2d!=%.2d\n",n,s); }}void sqrta(){double a;printf("请输入被开方数:\n");scanf("%lf",&a);printf("%.2lf",sqrt(a));}

    0 讨论(0)
提交回复