C语言实现四则运算
学生:宋丹丹 张潇裕
#include<iostream>
#include<ctime>
using namespace std;
void main()
{
int x1,x2,a,b,i,x3,x4,x5,x6;
srand(time(0)); //通过系统时间初始化随机数种子,若不设置则每次产生随机数相同
for(i=1;i<=30;i++)
{
x1=rand()%100; //产生随机整数
x2=rand()%100;
x3=rand()%100;
x4=rand()%100;
x5=rand()%100;
x6=rand()%100;
for(;x4==0;) //用于分母是否为零的判断
{
x4=rand()%100;
}
for(;x6==0;) //用于分母是否为零的判断
{
x6=rand()%100;
}
a=rand()%4; //产生随机整数用于除四取余后进行四种运算符号和四种数的选择
b=rand()%4;
switch(b) //用于随机整数和真分数四种组合情况的选择
{
case 0: //整数整数运算
switch(a) //用于四则运算四种符号的选择
{
case 0:
cout<<x1<<"+"<<x2<<"="<<endl;
break;
case 1:
cout<<x1<<"-"<<x2<<"="<<endl;
break;
case 2:
cout<<x1<<"*"<<x2<<"="<<endl;
break;
case 3:
for(;x2==0;) //用于分母是否为零的判断
{
x2=rand()%100;
}
cout<<x1<<"/"<<x2<<"="<<endl;
break;
default:
break;
}
break;
case 1: //分数分数运算
for(;x3>x4;)
{
x3=rand()%100;
}
for(;x5>x6;)
{
x5=rand()%100;
}
switch(a)
{
case 0:
cout<<"("<<x3<<"/"<<x4<<")"<<"+"<<"("<<x5<<"/"<<x6<<")"<<"="<<endl;
break;
case 1:
cout<<"("<<x3<<"/"<<x4<<")"<<"-"<<"("<<x5<<"/"<<x6<<")"<<"="<<endl;
break;
case 2:
cout<<"("<<x3<<"/"<<x4<<")"<<"*"<<"("<<x5<<"/"<<x6<<")"<<"="<<endl;
break;
case 3:
for(;x5==0;)
{
x5=rand()%100;
}
for(;x5>x6||x5==x6;)
{
x5=rand()%100;
}
cout<<"("<<x3<<"/"<<x4<<")"<<"/"<<"("<<x5<<"/"<<x6<<")"<<"="<<endl;
break;
default:
break;
}
break;
case 2: //整数分数运算
for(;x3>x4;)
{
x3=rand()%100;
}
switch(a)
{
case 0:
cout<<x1<<"+"<<"("<<x3<<"/"<<x4<<")"<<"="<<endl;
break;
case 1:
cout<<x1<<"-"<<"("<<x3<<"/"<<x4<<")"<<"="<<endl;
break;
case 2:
cout<<x1<<"*"<<"("<<x3<<"/"<<x4<<")"<<"="<<endl;
break;
case 3:
for(;x3==0;)
{
x3=rand()%100;
}
for(;x3>x4||x3==x4;)
{
x3=rand()%100;
}
cout<<x1<<"/"<<"("<<x3<<"/"<<x4<<")"<<"="<<endl;
break;
default:
break;
}
break;
case 3: //分数整数运算
for(;x5>x6;)
{
x5=rand()%100;
}
switch(a)
{
case 0:
cout<<"("<<x5<<"/"<<x6<<")"<<"+"<<x2<<"="<<endl;
break;
case 1:
cout<<"("<<x5<<"/"<<x6<<")"<<"-"<<x2<<"="<<endl;
break;
case 2:
cout<<"("<<x5<<"/"<<x6<<")"<<"*"<<x2<<"="<<endl;
break;
case 3:
for(;x2==0;) //用于分母是否为零的判断
{
x2=rand()%100;
}
cout<<"("<<x5<<"/"<<x6<<")"<<"/"<<x2<<"="<<endl;
break;
default:
break;
}
break;
default:
break;
}
}
}
C语言实现四则运算的更多相关文章
- 简单的C语言小学四则运算设计
题目:设计一个简单的四则运算编辑器 思路:我使用的是C语言编程,看到题目首先要随机出3个随机数,其中两个为100以内的随机数(a,b),一个为0~3的随机数(k). k值的变化使得+ - * /的变化 ...
- C语言 · 复数四则运算
算法提高 6-17复数四则运算 时间限制:1.0s 内存限制:512.0MB 设计复数库,实现基本的复数加减乘除运算. 输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符 ...
- 实验1--用C语言编程四则运算
#include<stdio.h>#include<stdlib.h>#include <time.h>#define N 30main(){int a,b,k,i ...
- C语言之四则运算表达式求值(链栈)—支持浮点型数据,负数, 整型数据运算
运算符间的优先级关系: 链栈结构体定义: 数据域使用字符串长度为20的字符数组(故需要注意判断读取的字符串是运算符还是数值) 可支持浮点型数据,负数, 整型数据的运算 float EvaluateE ...
- js的介绍 及用法 常量 变量!
1.js介绍 js全程叫javascript,但不是java 他是一门前台语言 而java是后台语言. js的作者是布兰登 爱奇 前台语言:运行在客户端 后台语言:跟数据库有关的. 2.能干什么? 页 ...
- js的简单介绍
1.js的介绍 js全称叫javascript,但不是java,他是一门前台语言,而java是后台语言. js的作者是布兰登艾奇. 前台语言:运行在客户端的 后台语言:跟数据库有关的. 2.能干什么? ...
- JS(JavaScript)的初了解(更新中···)
1.js介绍 Js全称叫javascript,但不是java,他不仅是是一门前台语言,经过发展,现在也是一门后台语言:而java是后台语言. Js作者是布兰登艾奇. 前台语言:运行在客户端的 后台语言 ...
- javascript讲解
1. js介绍 js的全称 javascript 由布兰登 艾奇发明的 javascript和java是有区别的 javascript是一门前台语言,而Java 是后台语言 前台语言运行在客户 ...
- 从零开始的全栈工程师——js篇2.1(js开篇)
JS开篇 一.js介绍 全称 javascript 但不是java 他是一门前台语言 而java是后台语言js作者 布兰登·艾奇 前台语言:运行在客户端的后台语言:跟数据库有关的 能干什么? 页 ...
随机推荐
- Scala学习资源
Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter ...
- Nodejs基础中间件
Nodejs基础中间件Connect http://www.tuicool.com/articles/emeuie 关于作者 张丹(Conan), 程序员Java,R,PHP,Javascript ...
- PowerShell添加或修改注册表开机启动项脚本
代码如下: $name = Read-Host "请输入开机启动项的名字(随便起)" $value = Read-Host "请输入开机启动项的值" try{ ...
- 创建XMLHttpRequest对象
创建XMLHttpRequest对象 XMLHttpRequest对象: 用于在后台与服务器交换数据,可以在不重新加载整个页面的情况下,对页面的部分内容进行更新. 创建XMLHttpRequest对象 ...
- 复旦大学2014--2015学年第二学期(14级)高等代数II期末考试第八大题解答
八.(本题10分) 设 $A,B$ 为 $n$ 阶半正定实对称阵, 求证: $AB$ 可对角化. 分析 证明分成两个步骤: 第一步, 将 $A,B$ 中的某一个简化为合同标准形来考虑问题, 这是矩 ...
- repeater留言板[转]
做了一个网站,其中的在线留言板块是用Repeater来显示留言的,这样可以用少的代码还实现多的功能,但是不知道怎么分页,要是留言过多就会使页面变的很长,能过查看众多网友的经验,知道用PagedData ...
- jqury 右击事件插件
在有些时候,网页中需要给一些标签对象加入右击的事件,在网上看了一些小的插件,但是不能根据this获取到当前的标签.所以相对他们进行改进一下.自己写了一个小的js右击事件.废话不多说了,看代码. $(f ...
- 源码剖析——深入Windows句柄本质
参考资料: 1. http://www.codeforge.cn/read/146318/WinDef.h__html windef.h头文件 2. http://www.codeforge.cn/r ...
- JDBC三层架构
三层框架: 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了“高内聚,低耦合”的思想. 原理:1:数据访问层:主要是对原始 ...
- 已禁用对分布式事务管理器(MSDTC)的网络访问的解决方法之一
C# ASP.NET项目提示上述错误,在代码中使用分布式事务提示添加或修改到数据库的时候.添加数据到数据库时,不会设置实体类的主键字段.