本次结对编程我和我的同学,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