C++初学(1) 简单的加减乘除取余运算代码
//---------------+-*/%算法----------------------------------------------------------
#include <iostream>
using namespace std;
// 函数原型声明
int Add(int e1, int e2);
int Sub(const int*pe1, const int*pe2);
int Mul(const int&re1, const int&re2);
int Div(int e1, int e2)throw(int); // 分母不能为0,否则抛出除0错
int Mod(int e1,int e2)throw(int,long); //分子 分母不能为0,否则抛出无意义错或除0错 void main() {
int e1, e2, result;
char optr; while (true) {
cout <<
"Please type in an expression which likes a @b,type 'q' to quit" << endl;
cin >> optr;
if (optr == 'q' || optr == 'Q')
break; // 结束循环
cin.putback(optr); // 将读入的字符退回到流中,让它可以被重新读入
cin >> e1;
cin >> optr;
cin >> e2; switch(optr) {
case '+':
result = Add(e1, e2);
break;
case '-':
result = Sub(&e1, &e2);
break;
case '*':
result = Mul(e1, e2);
break;
case '/':
result = Div(e1, e2);
break;
case '%':
result = Mod(e1, e2);
break;
}
}
system("pause");
} int Add(int e1, int e2) {
int result = e1 + e2;
cout << '=' << result << endl;
return result;
} int Sub(const int *pe1, const int *pe2) {
int result = *pe1 - *pe2; // 指针指向的内存地址里面存的数值相减
cout << '=' << result << endl;
return result;
} int Mul(const int &re1, const int &re2) {
int result = re1 * re2;
cout << '=' << result << endl;
return result;
} int Div(int e1, int e2)throw(int) {
try {
if (e2 == )
throw ;
int result = e1 / e2;
cout << '=' << result << endl;
return result;
}
catch(int) {
cout << "Denominator cannot be zero" << endl;
} } int Mod(int e1,int e2)throw(int,long)
{
try
{
if(e1==)
throw int();
if(e2==)
throw long(); int result=e1%e2;
cout << '=' << result << endl;
return result;
}
catch(int)
{
cout<<"It doesn't make sense when numerator is zero"<<endl;
}
catch(long)
{
cout<<"Denominator cannot be zero"<<endl;
}
}
C++初学(1) 简单的加减乘除取余运算代码的更多相关文章
- 使用PHP语言制作具有加减乘除取余功能的简单计算器
准备工作: 使用环境 :PHPStudy 开启Apache和Mysql 打开代码编辑器 <!DOCTYPE html> <html lang="en"> & ...
- 洛谷 P1226 【模板】快速幂||取余运算
题目链接 https://www.luogu.org/problemnew/show/P1226 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 ...
- 快速幂 cojs 1130. 取余运算
cojs 1130. 取余运算 ★ 输入文件:dmod.in 输出文件:dmod.out 简单对比时间限制:10 s 内存限制:128 MB [题目描述] 输入b,p,k的值,求b^p ...
- 为什么Java的hash表的长度一直是2的指数次幂?为什么这个(hash&(h-1)=hash%h)位运算公式等价于取余运算?
1.什么是hash表? 答:简单回答散列表,在hash结构散列(分散)存放的一种数据集结构. 2.如何散列排布,如何均匀排布? 答:取余运算 3.Java中如何实现? 答:hash&(h-1) ...
- 洛谷P1226 【模板】快速幂||取余运算
题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 S1: ...
- php取余运算(%) 注意事项
<?php //php取余运算(%)的那点事,php取余数用%符号,即为模运算 //理论上应该输出45才对,可是实际运算结果是44 $val=9.45; $result=$val*100; ec ...
- LuoguP1226 【模板】快速幂||取余运算
题目链接:https://www.luogu.org/problemnew/show/P1226 第一次学快速幂,将别人对快速幂原理的解释简要概括一下: 计算a^b时,直接乘的话计算次数为b,而快速幂 ...
- 洛谷——P1226 取余运算||快速幂
P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod ...
- python 取余运算
python中取余运算逻辑如下: 如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系: a = qd + r , q 为整数,且0 ≤ |r| < |d|. 经过测试可发现,pytho ...
随机推荐
- 实时获取键盘高度 CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
注意:要想实时获取键盘的高度,比如当前如果是中文那么就会增高的.那么需要使用 UIKeyboardFrameEndUserInfoKey 而不是 UIKeyboardFrameBeginUserIn ...
- pycharm、idea插件代理设置,插件安装
pycharm和idea都是intellij的,所以插件安装是设置代理方法相似, 以pycharm举例: 1.已经安装的插件列表: 2.查找要安装的插件,没有,会给出下载插件的链接地址: 3.打开链接 ...
- memcached优化方法
工作原理 基本概念:slab,page.chunk. slab,是一个逻辑概念. 它是在启动memcached实例的时候预处理好的,每一个slab相应一个chunk size.也就是说 ...
- LeetCode ||& Word Break && Word Break II(转)——动态规划
一. Given a string s and a dictionary of words dict, determine if s can be segmented into a space-sep ...
- cocos2dx 3.0打包android遇到的错误(持续更新)
1.编译时遇到找不到文件的错误:比如fatal error: cocos-ext.h: No such file or directory , fatal error: CocosGUI.h: ...
- FastDFS的配置、部署与API使用解读(1)Get Started with FastDFS(转)
转载请注明来自:诗商·柳惊鸿CSDN博客,原文链接:FastDFS的配置.部署与API使用解读(1)入门使用教程 1.背景 FastDFS是一款开源的.分布式文件系统(Distributed File ...
- Linux CentOS下安装、配置mysql数据库
假设要在Linux上做j2ee开发.首先得搭建好j2ee的开发环境.包含了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有具体解说了Linux学习之CentOS(七)--Cen ...
- oracle spm使用1
oracle11g new feature SPM 有助于保持sql的语句特性,仅仅同意运行性能提高的运行计划. 它不同于stored outlines, spm在于稳定sql性能,而store ou ...
- Codeforces 3A-Shortest path of the king(BFS打印路径)
A. Shortest path of the king time limit per test 1 second memory limit per test 64 megabytes input s ...
- IOS版DesiredCapabilities参数配置
前言 相比较Android的DesiredCapabilities参数配置,IOS的相对而言比较复杂. 特别是在真机上跑的时候,参数就更加复杂. DesiredCapabilities参数配置 模拟器 ...