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作者 布兰登·艾奇 前台语言:运行在客户端的后台语言:跟数据库有关的 能干什么? 页 ...
随机推荐
- 你年纪轻轻怎么这么"不讲理"
今天在公交上遇到一出"精彩的打戏",这给我的12月份带来了一丝的"惊喜",1号就能让我碰到这样的事,看来这个月会惊喜不断啊!!!! 这精彩的戏是这样的,公交到了 ...
- java中的23中设计模式(转)
设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- Father Christmas flymouse--POJ3160Tarjan
Father Christmas flymouse Time Limit: 1000MS Memory Limit: 131072K Description After retirement as c ...
- Uva 242 邮票和信封
题目链接:https://vjudge.net/contest/146179#problem/D 题意: 信封上最多贴S张邮票.有N个邮票集合,每个集合有不同的面值.问哪个集合的最大连续邮资最大,输出 ...
- [ASM C/C++] C语言函数的可选性自变量
函数的可选性自变量 C语言允许定义自变量数量可变的函数,称为variadic函数.variadic函数需要固定数目的强制性自变量,后面是数量可变的可选性自变量. 也就是说必须至少有一个强制性 ...
- lower函数
将大写字母变成小写 >>> a='AAABBBccc' >>> a.lower() 'aaabbbccc'
- 使用日期控件datePicker,阻止移动端的自动调取键盘的事件
方法:简单来说就是阻止input的默认事件. 因为datePicker就是用input来封装的,所以直接阻止input的输入事件就ok: 很简单,把input field属性readonly设置为tr ...
- QLPreViewController的初步实用
前一阵项目需要添加一个文档文件的查看功能,于是就各种找资料,一开始想实用webView,然而webView有的格式不支持,而且占内存太大了.找着找着就找到QLPreViewController.用了一 ...
- 解决Spark读取Hive分区表出现Input path does not exist的问题
假设这里出错的表为test表. 现象 Hive读取正常,不会报错,Spark读取就会出现: org.apache.hadoop.mapred.InvalidInputException: Input ...
- Android Button上的文字自动变成大写,如何解决呢?
android:textAllCaps="false"手动添加这一行,就不会有烦恼了.