




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程编号 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,n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合复习与测试教学设计-2025-2026学年高中生物中图版选修一生物技术实践-中图版
- 第一单元第四课二、《如何筛选记录》说课稿 2024-2025学年新世纪版(2018)初中信息技术七年级下册
- 有色金属强化熔炼工技能巩固考核试卷及答案
- 大东宝马厂区安全培训课件
- 第三单元 西乐撷英(三)《选听 匈牙利狂想曲第二号》说课稿设计2024-2025学年人教版音乐九年级下册
- 国际商事仲裁机制的发展分析-洞察及研究
- 2025年辐射采暖行业研究报告及未来行业发展趋势预测
- 钽铌镧还原冶炼工理念考核试卷及答案
- 冷却筛分工专项考核试卷及答案
- 罐头杀菌工知识考核试卷及答案
- 2025年国家保安员资格考试模拟100题及答案
- 防火公路施工方案
- 商学院课程总结与展望
- 《集中用餐单位落实食品安全主体责任监督管理规定》解读与培训
- 2025年(幼儿园)教师资格考试《保教知识与能力》模拟测试题及答案(共三套)
- 物业管理服务项目进度保证措施
- GB/T 10810.1-2025眼镜镜片第1部分:单焦和多焦
- GB/T 45265-2025下肢假肢增材制造通用技术要求
- 足球比赛裁判培训
- 2025年职工职业技能竞赛(制图员赛项)参考试题库(含答案)
- 胖东来管理制度
评论
0/150
提交评论