编写一个智力测验小游戏。由计算机给出10道100以内的四则运算,每道题10分,由
发布网友
发布时间:2022-05-13 21:11
我来回答
共1个回答
热心网友
时间:2023-10-28 21:17
C++的程序如下
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <time.h>
using namespace std;
void test()
{
int all=0,win=0,answer=0;
char choice;
int n;
int i;
do
{
vector<int> vs;
vector<int>::iterator si;
vector<char> vc;
vector<char>::iterator ci;
n=rand()%4+2;
for(i=0;i<n;i++)
{
vs.push_back(rand()%10+1);
}
for(i=0;i<n-1;i++)
{
switch(rand()%4)
{
case 0:
vc.push_back('+');break;
case 1:
vc.push_back('-');break;
case 2:
vc.push_back('*');break;
case 3:
vc.push_back('/');break;
default:
cout<<"IMPOSSIBLE!\N";
}
}
for(i=0;i<n-1;i++)
{
cout<<vs.at(i)<<vc.at(i);
}
cout<<vs.back()<<"=";
bool t=true;
int temp=0;
for(i=0;i<vc.size();i++)
{
if(vc.at(i)=='*'||vc.at(i)=='/')
{
if(vc.at(i)=='*')
{
temp=vs.at(i)*vs.at(i+1);
}
else
{
temp=vs.at(i)/vs.at(i+1);
}
//cout<<"test"<<endl;
vs.at(i)=temp;
si=vs.begin()+i+1;
si=vs.erase(si);
ci=vc.begin()+i;
ci=vc.erase(ci);
i--;
}
}