您的位置:首页 > 其它

小学生算数

2016-03-17 09:18 232 查看
/*
*Copyright (c) 2016
*All rights reserved.
*文件名称:test.cpp
*作    者:史红浩
*完成日期:2016年 3 月 17 日
*版 本 号:v1.0
*
*问题描述:小学生算数。随机0到100出题,加减乘除随机,共十题。最后输出分数。
*输入描述:输入答案。
*输出描述:最后分数。
*/
#include<iostream>
#include<stdlib.h>
using namespace std;
void arrangement(int *,int *);
//为了防止减法和除法出现第一个数大第二个数小而做的函数
int main()
{
int i,score=0,result,num1,num2;
for(i=1;i<=10;i++)
{
cout<<"第"<<i<<"题:"<<endl;
int RanNum;
RanNum=rand()%4;   //用RanNum随机数来控制加减乘除
num1=rand()%100;
num2=rand()%100;
switch(RanNum)
{
case 0:
cout<<num1<<"+"<<num2<<"=?"<<endl;
break;
case 1:
arrangement(&num1,&num2);
cout<<num1<<"-"<<num2<<"=?"<<endl;
break;
case 2:
cout<<num1<<"*"<<num2<<"=?"<<endl;
break;
case 3:
arrangement(&num1,&num2);
if(num2==0)		//为了防止除数=0而使程序崩溃
{
i--;		//i--是为了防止跳出程序后少出一道题
break;
}
cout<<num1<<"÷"<<num2<<"=?"<<endl;
break;
}
cin>>result;
switch(RanNum)
{
case 0:
if(num1+num2==result)
score++;
break;
case 1:
if(num1-num2==result)
score++;
break;
case 2:
if(num1*num2==result)
score++;
break;
case 3:
if(num1/num2==result)
score++;
break;
}
}
cout<<"你的分数是"<<score<<endl;

return 0;
}
void arrangement(int *pNum1,int *pNum2)
{
int temp;
if(*pNum1<*pNum2)
{
temp=*pNum1;
*pNum1=*pNum2;
*pNum2=temp;
}
}
<span style="font-family:Arial;BACKGROUND-COLOR: #ffffff">运行结果:</span>
<img src="http://img.blog.csdn.net/20160317092109334?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: