c++创意编程-计算达人

#include<bits/stdc++.h>
#define ll long long //将long long替换为自定义名称,节省打字时间 
using namespace std;
ll myfac(ll x,int k,ll y){ //定义函数 
	switch(k){ //通过分支判断随机数的值,并返回特定值 
		case 1:{
			return x+y;
			break;
		}
		case 2:{
			return x-y;
			break;
		}
		case 3:{
			return x*y;
			break;
		}
		case 4:{
			return x/y;
			break;
		}
	}
}
char myfac2(int f){ //定义函数 
	switch(f){ //通过随机数的值生成对应符号并返回 
		case 1:{
			return '+';
			break;
		}
		case 2:{
			return '-';
			break;
		}
		case 3:{
			return '*';
			break;
		}
		case 4:{
			return '/';
			break;
		}
	}
}
int main(){
	srand(time(0)); //时间初始化 
	char ysf; //定义运算符,用于输出表达式 
	ll answer,sjs1,sjs2,a,b; //定义所需变量 
	int k; //此处变量用于随机产生运算符 
	cout<<"Please enter the interval range:"<<endl; //输入提示 
	cin>>a>>b; //输入范围 
	for(int i=1;i==1;i=1){ //无限循环 
		k=rand()%4+1; //产生1-4的随机数 
		if(a<b){ //判断输入的数那个更大,并生成对应范围的两个随机数 
			sjs1=rand()%b+a;
			sjs2=rand()%b+a;
		}else{
			sjs1=rand()%a+b;
			sjs2=rand()%a+b;
		}
		ysf=myfac2(k); //根据产生的随机数生成对应运算符 
		cout<<sjs1<<ysf<<sjs2<<"="; //输出表达式 
		cin>>answer; //输入答案 
		for(int j=1;j==1;j=1){ //无限循环判断,如果答案等于表达式的值那么输出you win且跳出循环,继续下一次输出表达式,否则输出you lose并再次生成对应范围的表达式 
			if(answer==myfac(sjs1,k,sjs2)){
				cout<<"You win"<<endl; 
				break;
			}else{
				cout<<"You lose"<<endl;
				k=rand()%4+1;
				ysf=myfac2(k);
				if(a<b){
					sjs1=rand()%b+a;
					sjs2=rand()%b+a;
				}else{
					sjs1=rand()%a+b;
					sjs2=rand()%a+b;
				}
				cout<<sjs1<<ysf<<sjs2<<"="; //输出表达式 
				cin>>answer; //输入答案 
			}
		}
	}
	return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值