C语言四则运算实验报告.doc

上传人:jian****018 文档编号:9591509 上传时间:2020-04-06 格式:DOC 页数:8 大小:213.50KB
返回 下载 相关 举报
C语言四则运算实验报告.doc_第1页
第1页 / 共8页
C语言四则运算实验报告.doc_第2页
第2页 / 共8页
C语言四则运算实验报告.doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
课程编号 1300050027 得分教师签名批改日期深 圳 大 学 实 验 报 告课程名称: C语言实验 实验名称: 100以内的四则运算游戏 学 院: 信息工程学院 指导教师: 张金凤 报告人: 王文杰 组号: 17 学号 2013130073 实验地点 教学楼D506 实验时间: 2014 年 4 月 16 日 提交时间: 2014.5.9 一、实验目的一、 学习和掌握C语言函数的定义与调用; 二、 进一步掌握随机数、选择结构、循环控制、交互式输入输出等程序设计方法; 三、 进一步掌握C语言中的数组定义和引用方法; 四、 学习和掌握根据流程图进行模块化程序设计的思想。二、实验要求产生1到4之间的随机数,决定4则运算的符号,再产生两个0到99的随机数进行运算,并记录下做的题数以及正确的数目,当做题者输入n或N时退出程序并显示出完成题数及正确率。三、实验程序详细流程图:五、对流程图的简要说明:#include #include #includetime.h#include void max_min(int a,int b);randN1N2(int rN1, int rN2 );randOper4( );randLmt100( );addLmt100(int num1, int num2);subLmt100(int num1, int num2);mulLmt100(int num1, int num2);divLmt100(int num1, int num2);/* 主函数的功能如下:在主函数中调用上面定义的五个函数,在屏幕上随机循环出一道 100 以内的四则运算题。其中,定义一个整型数组 proNum4 和整型数组 ansNum4,这两个数组中分别存储在上述游戏循环过程中加、减、乘、除四种类型的题出现的次数,以及这四种类型的题被答对的次数。在用户不想继续游戏退出时,在屏幕上显示本次游戏中的加、减、乘、除四种类型题出现的数量,以及每一种题被答对的次数。*/int main(int argc, char *argv)srand( (unsigned)time( NULL ) ); int proNum4=0,ansNum4=0, oper,num1,num2;char ch;printf(四则运算游戏,请输入正确答案:nn);for(;)oper = randOper4();switch(oper)case 1:proNum0+;if(addLmt100(num1,num2)=1)ansNum0+;break;case 2:proNum1+;if(subLmt100(num1,num2)=1)ansNum1+;break;case 3:proNum2+;if(mulLmt100(num1,num2)=1)ansNum2+;break;case 4:proNum3+;if(divLmt100(num1,num2)=1)ansNum3+;break;fflush(stdin);printf(n按回车继续游戏,按N结束游戏nn);ch = getch();if(ch=n|ch=N)break;printf(n你一共玩了%d次加法,其中正确答对%d次nn,proNum0,ansNum0); printf(n你一共玩了%d次减法,其中正确答对%d次nn,proNum1,ansNum1); printf(n你一共玩了%d次乘法,其中正确答对%d次nn,proNum2,ansNum2); printf(n你一共玩了%d次除法,其中正确答对%d次nn,proNum3,ansNum3); system(PAUSE);return 0;void max_min(int a,int b)int c;if(ab)c=a,b=a,b=c;/*定义一个函数 randN1N2(int rN1, int rN2 )。该函数有两个整型的输入参数 rN1 和 rN2,其中,rN1 = rN2。该函数的功能是生成 rN1 到 rN2 之间均匀分布的随机整数,该函数的返回值类型是整型。每调用一次该函数,函数返回一个 rN1 至 rN2 之间的随机整数*/int randN1N2(int rN1, int rN2 )return rand()%(rN2-rN1+1)+rN1; /*该函数没有输入参数,函数的返回类型是整型。该函数内部调用上述 randN1N2( ) 函数。每调用一次函数 randOper4( ),返回一个 1 至 4 之间的随机整数*/randOper4( ) return randN1N2(1,4);/*该函数没有输入参数,函数的返回类型是整型。该函数内部调用上述 randN1N2( ) 函数。每调用一次函数 randLmt100( ),返回一个 0-99 之间的随机整数。*/randLmt100( ) return randN1N2(0,99); /*该函数有两个整型的输入参数 num1 和 num2;函数返回值类型为整型。该函数的功能是:在屏幕上列出一个算式 num1 + num2 =,然后接受一个键盘输入的计算答案 answer。若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值 1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值 0。*/addLmt100(int num1, int num2)int a,b; num1=randLmt100(); num2=randLmt100(); printf(%d + %d = ,num1,num2);a=num1+num2;scanf(%d,&b); if(b=a) printf(n恭喜你,答对了!n); return 1; else printf(n回答错误,加油!n); return 0; /*该函数有两个整型输入参数 num1 和 num2;函数返回值类型为整型。该函数的功能是:在屏幕上列出一个算式 numM1 - numM2 =,其中:numM1 是 num1 和 num2 中较大的一个数,numM2 是 num1 和 num2 中较小的一个数;然后接受一个键盘输入的计算答案 answer。若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值 1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值 0。*/subLmt100(int num1, int num2)int a,b; num1=randLmt100(); num2=randLmt100(); max_min(num1,num2);printf(%d - %d = ,num1,num2);a=num1-num2;scanf(%d,&b); if(b=a) printf(n恭喜你,答对了!n); return 1; else printf(n回答错误,加油!n); return 0; /*该函数有两个整型输入参数 num1 和 num2;函数返回值类型为整型。该函数的功能是:在屏幕上列出一个算式 num1 num2 =,然后接受一个键盘输入的计算答案 answer。若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值 1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值 0。*/mulLmt100(int num1, int num2)int a,b;num1=randLmt100(); num2=randLmt100();printf(%d x %d = ,num1,num2);a=num1*num2;scanf(%d,&b); if(b=a) printf(n恭喜你,答对了!n); return 1; else printf(n回答错误,加油!n); return 0; /*该函数有两个整型输入参数 num1 和 num2;函数返回值类型为整型。该函数的功能是:首先判定 num1 是否可以整除 num2,若不能整除,则调用 randLmt100( )函数重新生成两个新的 num1 和 num2,然后再进行整除性判断,直到生成的 num1 可以整除 num2;在 num1 可以整除 num2 的情况下,在屏幕上列出一个算式 num2 num1 =,然后接受一个键盘输入的计算答案 answer。若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值 1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值 0。*/divLmt100(int num1, int num2)int a,b; do num1=randLmt100(); num2=randLmt100(); while(num1%num2!=0|num2=0); printf(%d %d = ,num1,num2);a=num1/num2;scanf(%d,&b); if(b=a) printf(n恭喜你,答对了!n); return 1; else printf(n回答错误,加油!n); return 0; 改进意见: 请针对错的多的运算进行重复出题,加强练习。指导教师批阅意见:成绩评定: 预习(20分)操作及记录(40分)数据处理与结果陈述30分思考题10分报告整体印 象总分
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!