- 8
- 0
- 约2.94千字
- 约 14页
- 2017-02-04 发布于湖北
- 举报
C语言程序设计项目教程 中国商业出版社 函数返回值、参数传递 【项目任务】 某幼儿游戏软件需要编写一个10以内的加减算术测试程序,计算机随机出10道加减测试题,答题后显示正确或错误信息,结束统计成绩。 函数返回值、参数传递 【项目任务】 熟悉函数的定义、调用方法 理解函数的返回值 熟悉函数调用中参数的传递方法 函数返回值、参数传递 【技术要点】 加减法算术测试程序的步骤可分为:显示一道题目,输入答案,对比评分,显示正误,最后统计成绩等环节,测试程序的核心在于计算机如何出题目,如何评分,将任务分解几个部分如计算机出题目,计算机评分,在主函数中循环10次调用两函数,循环结束打印成绩,将复杂的计算机考试问题简单化。 出题函数:主要完成计算机随机出加减运算题目,显示并返回标准答案。考虑小学生实际10以内加减法,限制出现负数。 评分函数:主要完成计算机输入答案和标准答案的比较评分,显示正确与否信息,并返回标记。 函数返回值、参数传递 函数返回值、参数传递 #includestdio.h #includetime.h #includestdlib.h /* show函数功能: 打印显示计算机随机出题目,并返回标准答案。 函数参数: 无 函数返回值:返回标准答案。 */ int show() { int a,b,t,op,answer0; srand(time(0)); a = rand()%10 + 1; b = rand()%10 + 1; op = rand()%2 + 0; // 随机加减法 switch(op) { case 0: printf(%d+%d=, a, b); //显示题目 answer0=a+b; //计算标准答案 break; case 1: if (ab) { t=a;a=b;b=t; } //限制出现负数 printf(%d-%d=, a, b); answer0=a-b; break; } return (answer0); //返回标准答案 } 函数返回值、参数传递 /* Test函数功能: 比较答案正确,有打印显示信息,并返回标记。 函数参数: 标准答案、输入答案 函数返回值:比较参数传递的答案,相同返回1否则返回0。 */ int Test(int t_answer1, int t_answer0) { if (t_answer1==t_answer0) { printf(Right!\n); return 1; } else { printf( Not correct! \n); return 0; } } 函数返回值、参数传递 main() { int i,an_flag; int answer1,answer2,score = 0; for (i=0; i10; i++) { answer1=show() ; //调用显示函数,获标准答案 scanf(%d,answer2); an_flag = Test(answer1, answer2); //调用评分函数,获答题标记 if (an_flag == 1) //答题标记正确加分 score+=10; } printf(\nRight score:%d\n,score); } 函数返回值、参数传递 【程序说明】 1、show函数是无参数函数,但函数有返回值,调用时通过函数返回标准答案给answer1。如调用语句answer1=show() ; 2、Test函数有两个形式参数(int t_answer1, int t_answer0 ),调用时用实参替代形参,如an_flag = Test(answer1, answer2);,将函数返回值赋值给an_flag变量。通过an_flag == 1的比较可确定成绩,如果标记为1则score累加10分。 【程序思考】 1. 本项目中是如何利用两函数的返回值的? 2. 在本项目中两函数的形参和实参是怎样传值的?上机试一试,形参和实参能同名吗? 补充知识:随机函数 产生随机数要使用srand和rand
原创力文档

文档评论(0)