#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int cc,i,n,z;//操作数
int count;//题目数目
int max,min;//数据的最大值、最小值
int dt=0;//记录做对题目的数目
int shu[4];
char fh[4]={'+','-','*','/'};
void zhengshu();
void fenshu();
int main(void)
{int xz;//操作数
    srand((unsigned)time(NULL));printf("输入题目题数!--");//输入题目总数scanf("%d",&count);printf("是否有乘除法!(1/否,2/是.)--");//决定是否产生乘除法scanf("%d",&cc);printf("数值范围!(1 100)--");//输入数值范围scanf("%d %d",&min,&max);printf("\n请选择!");printf("\n1)整数运算.");printf("\n2)分数运算.--");scanf("%d",&xz);if(xz==1){zhengshu();}else{fenshu();}printf("\n一共%d道题,答对%d道题!\n",count,dt);}
void zhengshu()
{int x=0,y=0;//用户输入答案、正确答案int fz0,fm0;//已约分正确分子、分母int fz,fm;//用户输入分子、分母int jlfz,jlfm;//操作数int ys;char ch;for(i=0;i<count;i++){for(n=0;n<2;n++)//生成等式
        {shu[n]=rand()%(max-min+1)+min;printf(" %d ",shu[n]);if(n<1){z=rand()%(cc*2);printf("%c",fh[z]);}else{printf("=");}}switch(z)//算数正确答案
        {case 0:y=shu[0]+shu[1];break;case 1:y=shu[0]-shu[1];break;case 2:y=shu[0]*shu[1];break;case 3:y=shu[0]/shu[1];break;default:break;}if(z==3){jlfz=shu[0];//约分jlfm=shu[1];while(shu[1]!=0)        {            ys=shu[0]%shu[1];shu[0]=shu[1];shu[1]=ys;}        fz0=jlfz/shu[0];fm0=jlfm/shu[0];if(fm0<0)        {        fz0=fz0*-1;fm0=fm0*-1;        }scanf("%d%c%d",&fz,&ch,&fm);if(fz==fz0&&fm==fm0)        {            printf("答对了!\n");dt++;}else{printf("答错了!\n");}}else{scanf("%d",&x);if(x==y){printf("答对了!\n");dt++;}else        {printf("答错了!\n");}}}
}
void fenshu()
{int fz,fm;//用户输入分子、分母int fz0,fm0;//已约分正确分子、分母int fz1,fm1;//未约分正确分子、分母int jlfz,jlfm;//操作数int temp,ys;//操作数char ch;for(i=0;i<count;i++){for(n=0;n<4;n++)//产生四个随机数
        {shu[n]=rand()%(max-min+1)+min;}if(shu[0]>shu[1])//确保分母大于分子
        {temp=shu[1];shu[1]=shu[0];shu[0]=temp;}if(shu[2]>shu[3])//确保分母大于分子
        {temp=shu[3];shu[3]=shu[2];shu[2]=temp;}z=rand()%(cc*2);switch(z){case 0:fz1=shu[0]*shu[3]+shu[1]*shu[2];fm1=shu[1]*shu[3];break;case 1:fz1=shu[0]*shu[3]-shu[1]*shu[2];fm1=shu[1]*shu[3];break;case 2:fz1=shu[0]*shu[2];fm1=shu[1]*shu[3];break;case 3:fz1=shu[0]*shu[3];fm1=shu[1]*shu[2];break;default:break;}jlfz=fz1;//约分jlfm=fm1;while(fm1!=0){ys=fz1%fm1;fz1=fm1;fm1=ys;}fz0=jlfz/fz1;fm0=jlfm/fz1;if(fm0<0){fz0=fz0*-1;fm0=fm0*-1;}printf("%d/%d %c %d/%d = ",shu[0],shu[1],fh[z],shu[2],shu[3]);//打印分式printf("----|%d/%d|----",fz0,fm0);scanf("%d%c%d",&fz,&ch,&fm);if(fz==fz0&&fm==fm0){printf("答对了!\n");dt++;}else{printf("答错了!\n");}}
}

开发环境:Eclipse

做的是3.4.6.8,/*8没成功*/

结对同伴的学号:201306114335  姓名:何武鹏    博客地址:http://www.cnblogs.com/hewupeng/

这个结对编程过程中,我和同伴轮流编程,轮流检测,轮流查阅资料,并没说谁是主编,谁是副编。

总结:

在这次结对子编程实验中,有时同伴在编程某个东西,感觉我的方法会更好,我就会在后面指指点点,导致把他的思路直接打断。所以以后出现这种情况我会先让他编完,在跟他做比较,取我们公认最好的。虽然这次实验是挺辛苦的,流过汗,熬过夜。可是在这次实验中收获也挺多的。

转载于:https://www.cnblogs.com/linhaixin/p/4411013.html

结对子作业 四则运算 V2.0相关推荐

  1. 结对编程--------四则运算 实验总结2

    结对编程----------四则运算 实验总结2 结对对象 20172301 郭恺 20172328 李馨雨 过程截图 这个是我们编写的main,叫ArithmeticTest1主要用于生成随机等级的 ...

  2. 20162303 结对编程-四则运算(挑战出题)

    结对编程-四则运算(挑战出题) 结对伙伴:20162307 张韵琪 需求分析 1.建立一个新的代码仓库用于储存代码 2.随机生成指定运算符个数.指定个数和指定存储路径的表达式,包括括号 3.根据要求进 ...

  3. 全国小学四则运算1.0

    程序:全国小学四则运算1.0 源代码: import javax.swing.*; import java.awt.*; import java.awt.event.*; //一开始的界面 publi ...

  4. 结对编程-四则运算生成

    结对编程-四则运算生成 java实现四则运算程序 github传送门:https://github.com/JJYdesu/operation 成员:赖展飞 江家懿 一.项目要求 实现一个自动生成小学 ...

  5. postfixcalc函数 java_结对编程--四则运算(Java)萧英杰 夏浚杰

    结对编程--四则运算(Java)萧英杰 夏浚杰 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目中数值(自然数.真分数 ...

  6. 张天钰 内大计算机学院,20175305张天钰Java结对编程四则运算

    Java结对编程四则运算 一.题目描述:如何对表达式进行求值运算呢 1.中缀表达式与后缀表达式(娄老师讲解) 中缀表达式就是运算符号在运算数中间的表达式,比如1+2,顾名思义,后缀表达式就是运算符在运 ...

  7. 不现实的“机器化软件人假设” v2.0与“容许自由的温和家长制”助推

    注意:本文已过时.请看最新版:2023-07-05修订版:不现实的"机器化软件人假设"v2.0与"容许自由的温和家长制"助推 https://zhuanlan. ...

  8. c# .netframwork 4.0 调用 2.0时报错 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...

    "System.IO.FileLoadException"类型的未经处理的异常在 XXX.dll 中发生 其他信息: 混合模式程序集是针对"v2.0.50727" ...

  9. 【★更新★】高性能 Windows Socket 服务端与客户端组件(HP-Socket v2.0.1 源代码及测试用例下载)...

    HP-Socket 以前为某大型通信项目开发了一套通用 Windows Socket TCP 底层通信组件,组件代号为 HP-Socket.现在把 HP-Socket 的所有代码向大众公开,希望能对大 ...

最新文章

  1. 蓝牙MESH网关_水哥智能教学视频一米家蓝牙mesh设备如何升级固件
  2. Linux如何在栈上分配内存,Java堆与栈内存分配及String小记
  3. token要加编码decode吗_彻底弄明白Base64 编码
  4. JSP的9个内置对象-session
  5. ORA-01502: 索引或这类索引的分区处于不可用状态 [已解决]
  6. antd vue form 手动校验_vue测试模板与jsonSchema自动生成elment组件
  7. Digispark(ATTINY85) 微型开发板驱动安装与开发环境配置教程
  8. Android 之文件夹排序
  9. Spark列级血缘(字段级别血缘)开发与实现
  10. c语言切蛋糕题编程,切蛋糕问题.ppt
  11. linux 运维工程师必备技能
  12. 性能课程笔记(五)性能分析思路[转载高楼]
  13. 大数据框架hadoop之JobTracker主要功能分析
  14. 操作系统实验 P、V原语应用分析
  15. Nachos之系统调用
  16. 解读数据分析是神马?
  17. mysql list database_Navicat Premium 操作MySQL数据库
  18. 电脑很大,笔记本电脑响声很大怎么回事
  19. 一个屌丝程序员的青春(十三)
  20. 快消品出海--以目标指导经营

热门文章

  1. python处理csv数据-Python处理csv文件
  2. python第一次使用教程-Python考试_第一次
  3. python 编程一日一练-「每日一练」巧用python生成随机数
  4. python爬虫吧-Python爬虫如何爬取贴吧内容
  5. 自学python哪本书比较好-学习 Python 用哪本书好?
  6. python培训深圳-深圳哪里有Python培训?
  7. python与php8-python和php对比
  8. 零基础python必背代码-30个Python常用极简代码,拿走就用
  9. python装饰器-装饰器
  10. python web为什么不火-pythonweb为什么不火-问答-阿里云开发者社区-阿里云