学生:宋丹丹 张潇裕

#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语言实现四则运算的更多相关文章

  1. 简单的C语言小学四则运算设计

    题目:设计一个简单的四则运算编辑器 思路:我使用的是C语言编程,看到题目首先要随机出3个随机数,其中两个为100以内的随机数(a,b),一个为0~3的随机数(k). k值的变化使得+ - * /的变化 ...

  2. C语言 · 复数四则运算

    算法提高 6-17复数四则运算   时间限制:1.0s   内存限制:512.0MB      设计复数库,实现基本的复数加减乘除运算. 输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符 ...

  3. 实验1--用C语言编程四则运算

    #include<stdio.h>#include<stdlib.h>#include <time.h>#define N 30main(){int a,b,k,i ...

  4. C语言之四则运算表达式求值(链栈)—支持浮点型数据,负数, 整型数据运算

     运算符间的优先级关系: 链栈结构体定义: 数据域使用字符串长度为20的字符数组(故需要注意判断读取的字符串是运算符还是数值) 可支持浮点型数据,负数, 整型数据的运算 float EvaluateE ...

  5. js的介绍 及用法 常量 变量!

    1.js介绍 js全程叫javascript,但不是java 他是一门前台语言 而java是后台语言. js的作者是布兰登 爱奇 前台语言:运行在客户端 后台语言:跟数据库有关的. 2.能干什么? 页 ...

  6. js的简单介绍

    1.js的介绍 js全称叫javascript,但不是java,他是一门前台语言,而java是后台语言. js的作者是布兰登艾奇. 前台语言:运行在客户端的 后台语言:跟数据库有关的. 2.能干什么? ...

  7. JS(JavaScript)的初了解(更新中···)

    1.js介绍 Js全称叫javascript,但不是java,他不仅是是一门前台语言,经过发展,现在也是一门后台语言:而java是后台语言. Js作者是布兰登艾奇. 前台语言:运行在客户端的 后台语言 ...

  8. javascript讲解

    1. js介绍 js的全称 javascript     由布兰登 艾奇发明的 javascript和java是有区别的 javascript是一门前台语言,而Java 是后台语言 前台语言运行在客户 ...

  9. 从零开始的全栈工程师——js篇2.1(js开篇)

    JS开篇 一.js介绍 全称 javascript 但不是java 他是一门前台语言 而java是后台语言js作者 布兰登·艾奇 前台语言:运行在客户端的后台语言:跟数据库有关的 能干什么?    页 ...

随机推荐

  1. Node.js入门教程:Node.js如何安装配置并部署第一个网站

    前言:作为一个资深的前端开发人员,不懂的Node.js 那你绝对是不能跟别人说你是资深的前端程序猿滴! 今天洋哥就来和大家一起学习被大牛称之为前端必学的技能之一Node! 那么Node到底是什么呢? ...

  2. eclipse左侧不见

    我的解决办法: eclipse--->  Window --->Perspective--> Open Perspective-->Java

  3. day4总结

    函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或 ...

  4. cordova 打包发布正式版 apk

    cordova build android —release 笔者观察了一下新版Cordova,用的是gradle来build项目,所以网上的那些设置ant.properties的解决方法都排除掉,不 ...

  5. 利用opencv训练样本分类

    参考:http://www.cnblogs.com/easymind223/archive/2012/07/03/2574826.html http://www.tuicool.com/article ...

  6. [MISC] JQUERY注意问题之ie8 post缓存

    JQUERY 注意问题之 ie8 post缓存 1.设置AJAX,不存缓存 $.ajaxSetup ({ cache: false //关闭AJAX相应的缓存 }); 2.POST的URL加上随机参数 ...

  7. Unbuntu下使用SVN

    一.查看SVN版本 svn --version 二.查看SVN仓库 # 查看被svn仓库占用的所有端口 netstat -anp |grep svn # 查看所有端口对应的仓库 ps -ef | gr ...

  8. Java读取Level-1行情dbf文件极致优化(1)

    最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...

  9. Xcode 8

    (一)Xcode8去掉多余LOG 1.打开我们的项目,进入EditScheme 2.我们在Environment Variables中添加OS_ACTIVITY_MODE=disable

  10. Unity仪表盘显示UGUI制作小心得

    最近在做设备仪表参数参数显示,由于模型摆放位置经常修改,加之要求不能在模型的下面添加东西,显示界面的位置也不得不跟着修改,一来二去就烦了,想了解决办法,现在总结如下: 1.仍然在模型下面新建Panel ...