利用运算符做为swich  case 语句条件,实现简单程序的编写;并且对输入的运算做判断,除数为零也需做判断;

 #include<stdio.h>

 int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int div(int a, int b); int main(int argc, const char *argv[])
{
/*
* 定义接收变量,运算字符;
*/
int a,b,d;
char ch; /*
* 赋初值
*/
a = ;
b = ;
ch = ''; /*
* 控制台输入运算变量,运算符;
*/
printf("请输入需要计算的数及运算符;格式如:'num1 +-x/ num2' \n");
scanf("%d%c%d",&a,&ch,&b); /*
* 输入数据判断
*/
while((ch != '+')&&(ch != '-')&&(ch != '*')&&(ch != '/'))
{
//fflush(stdin);此种清空缓冲区无效
setbuf(stdin,NULL);
printf("输入运算符有误,请重新输入:\n");
scanf("%c",&ch);
} /*
* 除数为0做判断
*/
if((ch == '/')&&(b==))
{
setbuf(stdin,NULL);
printf("除数不能为0,请重新输入:\n");
scanf("%d",&b);
} /*
* 识别不同运算字符,做不同的运算;
*/
switch(ch)
{
case '+':
printf("%d+%d=%d\n",a,b,add(a,b));
break;
case '-':
printf("%d-%d=%d\n",a,b,sub(a,b));
break;
case '*':
printf("%d*%d=%d\n",a,b,mul(a,b));
break;
case '/':
printf("%d/%d=%d\n",a,b,div(a,b));
break;
default:
printf("Error\n");
} return ;
} /*
* 定义运算函数
*/
int add(int a, int b)
{
return a+b;
} int sub(int a, int b)
{
return a-b;
} int mul(int a, int b)
{
return a*b;
} int div(int a, int b)
{
return a/b;
}

C语言实现简单的计算器(加、减、乘、除)的更多相关文章

  1. C语言中指针变量的加减运算

    1.指针变量中存放的是地址值,也就是一个数字地址,例如某指针变量中的值是0x20000000,表示表示此指针变量存放的是内存中位于0x20000000地方的内存地址.指针变量可以加减,但是只能与整型数 ...

  2. C语言内嵌汇编(arm-v7)----加减乘移位

    在现代嵌入式操作系统中,汇编语言当然必不可少,汇编语言的优势就是执行速度快.如果在C语言的代码中,在关键的地方内嵌汇编,那么效率将会大大的提高,我们来看看代码: #include <stdio. ...

  3. PHP常用日期加减计算方法实例

    PHP常用日期加减计算方法实例 实例总结了PHP常用日期加减计算方法.分享给大家供大家参考,具体如下: PHP 标准的日期格式 date("Y-m-d H:i:s"); PHP 简 ...

  4. Sql里时间加减

    简单的时间加减 DATEADD(dd,-30, GETDATE())) 使用DateADD方法: 参数1:间隔,表示要添加的时间间隔,一天还是一月还是一年 参数2:要加或减的个数,加一年或加一月 参数 ...

  5. 大整数加减运算的C语言实现

    目录 大整数加减运算的C语言实现 一. 问题提出 二. 代码实现 三. 效果验证 大整数加减运算的C语言实现 标签: 大整数加减 C 一. 问题提出 培训老师给出一个题目:用C语言实现一个大整数计算器 ...

  6. C语言数组和指针的理解_在取地址运算上的操作_指针加减操作_a 和&a 的区别

    1.一个实例+理论分析 在了解数组和指针的访问方式前提下,下面再看这个例子: main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); pr ...

  7. C语言,简单计算器【上】

    由于工作需要最近在研究PHP扩展,无可避免的涉及到了C语言.从出了学校以后C语言在实际工作中还没有用到过,所以必须要先进行一点复习工作.个人认为对于熟悉一样东西说最好的方法是上手实践.于是便想起了当时 ...

  8. C语言实现简单计算器小项目

    昨天刚安装上devc++,半夜想着练练C语言吧 于是就看到实验楼有一个计算器的项目 之前做过一次,这次写的主要是思路 首先我们先从原理思考jia,实现简单的计算器就要具备加减乘除这些,看普通的计算器也 ...

  9. 搬运1:关于对C语言中数组名取地址加减等操作的一点探究

    对于数组名取地址强制转换的操作 偶然在晚上学了C语言指针后网页闲逛找题时,被一个数组名取地址搞糊涂了,在自己试验加探索后我稍微悟了一点东西. 代码如下: #include<stdio.h> ...

随机推荐

  1. 洛谷 P2746 [USACO5.3]校园网 Network of Schools 题解

    Tarjan 模板题 第一问就是缩点之后看有多少个入度为零的点就好了. 第二问是在缩点后将每个点的入度和出度都求出(只要有入度或出度就置为1),然后比较哪个有值的多,将多的作为答案输出.原因是由题可得 ...

  2. java如何判断溢出

    public int reverse2(int x) { double ans=0; int flag=1; if(x<0){ flag=-1; } x=x*flag; while(x>0 ...

  3. hbase 由于zookeeper问题导致连接失败问题

    问题现象: 使用hbase shell 连接报如下问题: 2019-10-09 10:37:18,855 ERROR [main] zookeeper.RecoverableZooKeeper: Zo ...

  4. 照片放大功能h5

    这里就不放图了,放大的是别人的身份证 <template> <div class="image-cell__wrapper" :style="borde ...

  5. js中判断变量不为空或null

    var content=$("content").val(); if(!content){      alert("请输出内容!");      return; ...

  6. ICEM-tube-water

    原视频下载地址:https://pan.baidu.com/s/1slPfJFv 密码: kjsh

  7. Apache Flink - 架构和拓扑

    Flink结构: flink cli 解析本地环境配置,启动 ApplicationMaster 在 ApplicationMaster 中启动 JobManager 在 ApplicationMas ...

  8. Systemback制作大于4G的Ubuntu系统镜像

    1 安装Systemback 依此执行如下命令. sudo apt-get update sudo add-apt-repository ppa:nemh/systemback sudo apt-ge ...

  9. NFV实验平台

    NFV架构如下图所示. NFVI对应于数据平面,数据平面转发数据并提供用于运行网络服务的资源. MANO对应于控制平面,该控制平面负责构建各种VNF之间的连接以及编排NFVI中的资源. VNF层对应于 ...

  10. 剑指offer:数字在排序数组中出现的次数

    题目描述: 统计一个数字在排序数组中出现的次数. 思路分析: 1. 直观思路是直接遍历一遍,统计.复杂度也只要O(n). 2. 显然这道题要考察的内容不这么简单,实际上考虑二分的思想来完成.分别二分查 ...