首页 > 编程语言 >结对编程——300道小学四则运算

结对编程——300道小学四则运算

时间:2023-04-17 21:01:30浏览次数:33  
标签:real 结对 300 四则运算 int answer include

本次结对编程作业由我和2152620同学使用c++语言共同完成。

代码如下:

#include <iomanip>
#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;
int num1[300];
int num2[300];
int op[300];
int answer[300];
int real[300];

void srand(unsigned int seed);
int getRand(int min, int max);

void get_question(int num1[],int num2[],int op[],int real[])     //数组随机填充函数 
{
    for(int i = 1;i<=300;i++){
        op[i]=getRand(0,3);                                      //随机生成运算符 
    } 
    

        for(int j = 1;j<=300;j++){
        if (op[j] == 0){
            real[j]=getRand(0,100);
            num2[j]=getRand(0,real[j]);
            num1[j]=real[j]-num2[j];
            
            
        }
        else if(op[j] == 1){
            num1[j]=getRand(0,100);
            num2[j]=getRand(0,num1[j]);
            real[j]=num1[j]-num2[j];
            
            
        }
        else if(op[j] == 2) {
            num1[j]=getRand(0,10);
            num2[j]=getRand(0,10);
            real[j]=num1[j]*num2[j];
            
        }
        else{
            real[j]=getRand(0,10);
            num2[j]=getRand(1,10);
            num1[j]=real[j]*num2[j];
            
        }    
       } 
 } 
 
 int getRand(int min, int max) {                                       //随机数生成函数 
    return ( rand() % (max - min + 1) ) + min ;
}

void display_question(int num1[],int num2[],int op[],int real[]){      //题目输出函数 

        for(int i = 1;i<=300;i++){
            switch(op[i]){
                case 0:
                   
                    cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" +"<<setw(3)<<num2[i]<<'='<<setw(8)<<"   ";
    
                    break;
                case 1:
                    
                    cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" -"<<setw(3)<<num2[i]<<'='<<setw(8)<<"   ";
                    
                    break;
                case 2:
                    
                    cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" *"<<setw(3)<<num2[i]<<'='<<setw(8)<<" ";
                    
                    break;
                case 3:
                    
                    cout<<setw(3)<<i<<". "<<setw(3)<<num1[i]<<" /"<<setw(3)<<num2[i]<<'='<<setw(8)<<" ";
                    
                    break;
            }
            if (i%5==0) cout<<endl;
    } 
    

        
}


void check_answer(int answer,int real[],int right){                        //答案检查函数 
    for(int i = 1;i<=300;i++){                                             //为方便演示可把此处的i改为小数字 
        cout<<"请输入第"<<i<<"题的答案"<<endl;
        cin>>answer; 
        if(answer==real[i]){
            right++;
            cout<<"正确!"<<endl; 
        }
        else 
        cout<<"错误!"<<endl; 
    }
    right=right/3;
    cout<<"答题结束,你的分数是:"<<right<<endl; 

}

int main (){
    int answer;
    int right=0;
    int i=0;
    srand(time(NULL));
    while(i==0){
    get_question( num1,num2, op, real);
    display_question( num1,num2, op, real);
    check_answer(answer, real,right);
    cout<<"是否再来一组?(输入0)"<<endl;
    cout<<"按任意键退出。。。"<<endl;
    cin>>i;

    }
    
    return 0;
}

运行结果:

心得体会:

       由于题目要求的是100以内的四则运算,所以要确保结果在0-100以内。此外,我们还通过限制随机数生成条件来避免除数为零、减数大于被减数等情况。在运行的过程中我们发现,如果在300道题答完之前退出,之后再运行生成的300道题跟之前一样。于是,我们加入了srand函数来对随机数进行初始化。通过这次的作业,我们意识到团队协作对于软件开发的重要性。具有团队意识,对于我们未来进入工作岗位也是十分重要的。

 

标签:real,结对,300,四则运算,int,answer,include
From: https://www.cnblogs.com/lyy1357/p/17327470.html

相关文章

  • 《皇家骑士:300自走棋》携手来电科技,达成深度战略合作
    近日,跳跃互娱旗下高热度游戏《皇家骑士:300自走棋》与共享充电宝领域的开创企业《来电科技》达成深度战略合作。皇家骑士和来电科技联合定制充电宝,不但能充分发挥皇家骑士的IP效应,更为充电宝赋予了IP趣味元素,让用户享受到联合定制共享充电服务。本次战略合作,无论是对皇家骑士还是来......
  • COMP30023 C语言题析
    COMP30023:IntroductiontoprojectsMarch24,20231IntroductionInthisdocument,wewillintroducehowCOMP30023projectsarestructured,andoutlinehowyoucanmakethemostfromtheinfrastructurewhichweprovide.Firstly,someattributesandexpectatio......
  • 动态规划04——300. 最长递增子序列
    300.最长递增子序列给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递......
  • JavaScript 变量、标识符和四则运算
    JavaScript基础第二天变量什么是变量?变量由四个部分组成:1.var:声明变量的关键字2.变量名字1.变量的名字可以包含:字母,数字2.不能以数字开头3.不能使用关键字保留字比如var、if、for、列:web、_001、_number3.等于号=在js中它叫做赋值号4.值,赋值号后面的叫做值(变......
  • 结对编程——四则运算
    内容目录结对编程成员实验目的实验方法实验内容实验代码实验结果截图心得体会1.结对编程成员2152125&21521302.实验目的通过学习和练习结对编程,达到提高代码质量和稳定性、增强团队合作和沟通能力、减少错误、增加效率、促进知识分享、提高代码可读性和可......
  • 结对编程——四则运算出题及核对答案
    结对编程对象:2152215 目录一、前言二、题设三、分析和设计思路四、功能实现和代码五、运行结果六、实验总结和体会 一、前言  结对编程(英语:Pairprogramming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一......
  • 四则运算练习&竞赛系统(结对编程)
    四则运算练习&竞赛系统(结对编程)伙伴:2152334项目要求小学老师要每周给同学出300道四则运算练习题一或两个运算符(a+b或a+b+c),100以内的数字,不需要写答案。需要检查答案是否正确,并且保证答案在0..100之间尽可能地多设置一些条件。请两位同学以结对编码(一个同学coding,另一个......
  • 由于我这个操作,导致爆亏3000多块,下次不要再犯了!谨记!
    【注】:趋势看错一定要止损!切不可加仓摊低成本!【赚钱操作】:第一笔做空逻辑:当时大饼、以太当天都大涨,所以想法做空,主要想博回调的利润,CFX涨幅第一名,又看了下日线,正好处于压力位,止损位应该放在破新高的位置。第一笔保证金100刀,赚6刀止盈,看到反弹力量强就止盈了!【亏钱操作】:......
  • 结对编程---四则运算
    目录一、实验目的二、实验内容三、实验代码四、实验结果五、实验心得一、实验目的通过两位同学组队用结对编码(两位位同学轮流coding,另一个同学在旁边审核代码)的方式完成本次实验。本次实验需要设计一个四则运算练习题的随机出题程序,可以通过C/C++/Java/Python等语言进......
  • 结对编程
    21522012157132·关于结对编程 结对编程(Pairprogramming)来自于极端编程XP(eXtremeProgramming),是它的十二个最佳实践之一。顾名思义,结对编程就是两个程序员坐在一起,结对进行代码开发。在极限编程中,所有的软件产品都是由两个程序员并排坐在一起,在同一台机器上共同完成的。关......