首页 > 编程语言 >结对编程

结对编程

时间:2023-04-08 11:57:18浏览次数:33  
标签:count case 结对 cout ++ 编程 break e0

本次结对编程我和我的同学,2152734一起进行了四则运算的编程,本次编程主要难点在于两个运算符的计算先后顺序,我们想来想去无论是判断第一个运算符是*/还是+-最后判断分类都是把所有种类都分类出来,于是我们干脆就直接将所有可能性直接利用switch语句列出,这样虽然代码量大了一点,但是节约了计算机判断的层层嵌套,节约资源,我们的代码中利用数字代替运算符,利用两个运算符代替的数字乘积代替判断来进行输出,我们在运行时直接筛选掉了结果小于0或大于100的运算并用continue不与输出,编程时我的同学还指出了我除数不能为0的错误,完成编程后我们体会到了结对编程确实可以提高效率。

 

代码:

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main(){
int count=0,a=0,b=0,c=-100,d=0,e=0,f=0;
float jieguo;
char l[4];
while(count<=300)
{
c=-1;
a=rand()%100;
b=rand()%100;
d=rand()%100;
e=rand()%100;
f=rand()%100;
if(d<25) c=1;
else if(d<50 && d>=25) c=2;
else if(d<75 && d>=50) c=3;
else c=4;
if(f<25) f=-5;
else if(f<50 && f>=25) f=-6;
else if(f<75 && f>=50) f=-7;
else f=-8;
c=c*f;
switch(c) {
case -5:{
if(a+b+e<100){
count++;
cout<<a<<"+"<<b<<"+"<<e<<"="<<endl;
}
break;
}
case -6:{
if(a+b-e<100 && a+b-e>0){
count++;
cout<<a<<"+"<<b<<"-"<<e<<"="<<endl;
}
break;
}
case -7:{
if(a+b*e<100 && a+b*e>0){
count++;
cout<<a<<"+"<<b<<"*"<<e<<"="<<endl;
}
break;
}
case -8:{
if (e==0){
continue;
}
if(a+b/e<100 && a+b/e>0){
count++;
cout<<a<<"+"<<b<<"/"<<e<<"="<<endl;
}
break;
}
case -10:{
if(a-b+e<100 && a-b+e>0){
count++;
cout<<a<<"-"<<b<<"+"<<e<<"="<<endl;
}
break;
}
case -12:{
if(a-b-e<100 && a-b-e>0){
count++;
cout<<a<<"-"<<b<<"-"<<e<<"="<<endl;
}
break;
}
case -14:{
if(a-b*e<100 && a-b*e>0){
count++;
cout<<a<<"-"<<b<<"*"<<e<<"="<<endl;
}
break;
}
case -16:{
if (e==0){
continue;
}
if(a-b/e<100 && a-b/e>0){
count++;
cout<<a<<"-"<<b<<"/"<<e<<"="<<endl;
}
break;
}
case -15:{
if(a*b+e<100 && a*b+e>0){
count++;
cout<<a<<"*"<<b<<"+"<<e<<"="<<endl;
}
break;
}
case -18:{
if(a*b-e<100 && a*b-e>0){
count++;
cout<<a<<"*"<<b<<"-"<<e<<"="<<endl;
}
break;
}
case -21:{
if(a*b*e<100 && a*b*e>0){
count++;
cout<<a<<"*"<<b<<"*"<<e<<"="<<endl;
}
break;
}
case -24:{
if (f==-8){
if (e==0){
continue;
}
if(a*b/e<100 && a*b/e>0){
count++;
cout<<a<<"*"<<b<<"/"<<e<<"="<<endl;
}
}else{
if (b==0){
continue;
}
if(a/b-e<100 && a/b-e>0){
count++;
cout<<a<<"/"<<b<<"-"<<e<<"="<<endl;
}
}
break;
}
case -20:{
if (b==0){
continue;
}
if(a/b+e<100 && a/b+e>0){
count++;
cout<<a<<"/"<<b<<"+"<<e<<"="<<endl;
}
break;
}
case -28:{
if (b==0){
continue;
}
if(a/b*e<100 && a/b*e>0){
count++;
cout<<a<<"/"<<b<<"*"<<e<<"="<<endl;
}
break;
}
case -32:{
if (b==0 || e==0){
continue;
}
if(a/b/e<100 && a/b/e>0){
count++;
cout<<a<<"/"<<b<<"/"<<e<<"="<<endl;
}
break;
}
case -100:break;
}
}
}

 

运行结果:

 

标签:count,case,结对,cout,++,编程,break,e0
From: https://www.cnblogs.com/huerji/p/17298258.html

相关文章

  • 编程前的准备
    目录1.计算机的组成2.个人博客的作用3.Markdown语法解析4.Windows常用快捷建5.基本的Dos命令1.计算机的组成计算机:能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备,由硬件和软件两部分组成。CPU的结构,冯诺依曼体系结构和哈佛结构。常应用方向,数据处理,自动控制,计算......
  • 【并发编程】Java7 - ForkJoin,将大任务拆分成小任务
    1.简介  Java7提供了可以将大任务拆分成小任务执行再合并结果的框架——Fork/Join。其中,将大任务拆分成足够执行的小任务并发执行的过程称为Fork,将这些小任务结果整合后形成最终的结果的过程称为Join。  Fork/Join框架的具体体现为ForkJoinTask抽象类,该类继承了Future,运行......
  • JAVA - 面向对象编程
    面向对象是在之前基本实现的基础上的又一抽象,这里的“高内聚,低耦合”体现的更加明显,有抽丝剥茧、不断总结的感觉了。学习的时候真的会有拨开云雾见月明的感觉,这种感觉真的会上瘾。你慢慢发现所有的东西都在以自己的规律运转,发现验证使用,真的很有《实践论》的味道。我能做些......
  • 可编程逻辑器件和数字系统设计初步
    可编程逻辑器件传统通用逻辑器件:逻辑规模小、占用印刷板面积大、功耗大、可靠性低专用集成电路ASIC(ApplicationSpecificIntegratedCircuit),针对特定用途可编程逻辑器件PLD(ProgrammableLogicDevice),属于ASIC:可由设计者自己完成逻辑功能,系统集成度高、可靠性高、设计过程灵活......
  • Java | 一分钟掌握异步编程 | 5 - CompletableFuture异步
     作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我!前言继续讲,前面讲了Future实现异步,优点缺点也都有,这里讲使用CompletableFuture机制,目前为止,应该说JDK原生提供的异步方式的最优方案就是CompletableFuture了,已知的开源......
  • JUC并发编程第十四章之StampedLock(读写锁的优化实践)
    JUC并发编程学习路线JUC并发编程第一章之进程/并发/异步的概念[理解基本概念]JUC并发编程第二章之CompletableFuture[加强版的线程]JUC并发编程第三章之Synchronized八锁案例[理解锁的对象]JUC并发编程第四章之公平锁/重入锁/死锁[常见锁的基本认识]JUC并发编程第五章之线程......
  • JUC并发编程基础篇第二章之CompletableFuture[加强版的线程]
    @目录1、创建线程的几种方式2、Future的优缺点3、CompletableFuture对Future的改进3.1、CompletableFuture的基本结构3.2、创建CompletableFuture四种方式3.3、CompletableFuture的流式调用3.4、CompletableFuture常见的用法1、创建线程的几种方式newthread://构造......
  • JUC并发编程基础篇第三章之Synchronized八锁案例[理解锁的对象]
    目录1、总结2、Java8锁案例1打印的方法都有synchronized修饰,先调用email,后调用Sms;输出顺序?案例2如果在发送email的方法,加入了暂定3s中的操作,打印顺序?案例3增加一个普通的方法hello,此时b线程调用hello,先打印email还是hello?案例4有两部手机,先打印邮件还是短信案......
  • JUC并发编程基础篇第四章之公平锁/重入锁/死锁[常见锁的基本认识]
    @目录1、公平锁/非公平锁1.1、概念1.2、非公平锁代码案例1.3、公平锁代码案例1.4、面试题:为什么会有这样的公平锁和非公所这样的设计2、重入锁2.1、简介2.2、没有重入锁,会发生什么问题2.3、可重入锁的种类2.3.1、隐式锁2.3.2、显式锁2.4、面试题:可重入锁的实现机制3、死锁3.1......
  • JUC并发编程基础篇第六章之LockSupport[notify,signal之外的另一种唤醒方式]
    目录1、LockSupport有什么用2、使用wait和notify唤醒一个线程2.1、正常情况2.2、异常情况2,这里去掉了synchronized(o){}代码块2.3、异常情况3先notify再wait3、使用await和signal唤醒一个线程3.1、正常情况3.2、异常情况:如果去除锁块3.3、异常情况:先执行signal......