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 ...
随机推荐
- html页面中拍照和上传照片那些事儿(二)
本文为原创,转载请注明出处: cnzt 文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6895352.html 本文主要说下iOS上传的照片在安卓机 ...
- 实现uitable cell中点击button设置当前cell为选中状态
- (void)buttonClick:(id)senser{ NSInteger tag = [senser tag]; NSLog(@"the button tag is % ...
- 时序数据库TSDB简单了解
由于项目需要,简单看来下时序数据库: 时序数据库是针对大量数据写入.主要用于记录时序数据的,使用于监控记录的场景:写多读少场景: 什么是时序数据.时序数据是基于时间的一系列的数据.在有时间的坐标中将这 ...
- 【Todo】Java Callable和Future学习
参考这篇文章:http://blog.csdn.net/ghsau/article/details/7451464 还有一个系列<Java多线程>
- 基于MNIST数据的softmax regression
跟着tensorflow上mnist基本机器学习教程联系 首先了解sklearn接口: sklearn.linear_model.LogisticRegression In the multiclas ...
- 【c专家编程】分析c语言的声明
联合: 在结构中,每个成员依次存储,而在联合中,所有成员都从偏移地址零开始存储,联合一般被用来节省空间,用法和struct相同. union bits32_tag { int whole; // 一个 ...
- Simple calculations
Description 有一个包括n+2个元素的数列a0, a1, ..., an+1 (n <= 3000, -1000 <= ai <=1000).它们之间满足ai = (ai- ...
- 获取连接状态数的awk数组命令
awk -n|more zhutianpeng@ztp-OptiPlex-:~/Icpp/server$ netstat -n|more 激活Internet连接 (w/o 服务器) Proto Re ...
- ScaleYViewPager
https://github.com/eltld/ScaleYViewPager
- spring中Bean创建
Spring中bean的加载过程: 1.获取配置文件资源 2.对获取的xml资源进行一定的处理检验 3.处理包装资源 4.解析处理包装过后的资源 5.加载提取bean并注册(添加到beanDefini ...