实验五 函数的简单应用 一、实验目的
1.掌握函数的定义、函数的说明和调用。
2.掌握函数的参数及其传递方式,函数值的正确返回。 二、实验内容
编写一个自动出题程序,该程序可以给出任意两个数的+、-、×、/运算式子,当用户输入运算结果时,程序可以判断正误。当用户做完十道题目之后,程序给出最终的统计结果。 提示: 1.
系统函数srand,是随机数发生器的初始化函数,这个函数在
头文件stdlib.h中。
原型:void srand(unsigned seed) 2.
系统函数rand,产生随机数的
函数,
原型:int rand(void) 3.
系统函数time,可以获取系统
时间,这个函数在time.h中。 大家可以试用下面的程序体会随机数的生成。
#include
#include
int i,j;
srand((unsigned) time(NULL)); for(i=0;i<10;i++) {
j=(int)(10*rand()/(RAND_MAX+1.0)); printf(\}
getchar(); } 说明:
[1] srand和rand配合使用产生伪随机数序列。
[2] rand函数在产生随机数前,需要系统提供生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。
[3] srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。
[4] 通常可以利用系统时间来改变系统的种子值,即
srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列
[5] “j=(int)(10*rand()/(RAND_MAX+1.0));”rand()函数前的10控制了j的范围,使其只能是0到10之间的数;如果将其改成100,则j即是0到100之间的随机数。 我们可以利用上面的方法产生运算式中的两个操作数。 4.
如何产生操作符?
我们将随机产生四个操作符:+、-、×、/。
可以定义一个变量:int op;并利用上述生成随机数的方法,用程序控制op的值为1到4的随机数。 然后:
switch(op)
{
case 1:
/*做加法*/
printf(\ scanf(\ if(ans==add(a,b))
printf(\ else
printf(\ break; case 2:
/*做减法*/ break; case 3:
/*做乘法*/ break; case 4:
/*做除法*/ break; }
==================================================
上面的程序片段中add为用户自定义函数,实现两个数的加法计算,并返回结果。类似的还需要编写减法、乘法、除法三个自定义函数。不过这几个自定义函数的内部实现都特别简单。大家请将注意力放在高层的函数定义、声明、调用三个环节上。
源代码:
C++ Code
1 #include
6 int z; 7 z=x+y; 8 return(z); 9 } 10
11 int jian(int x,int y) 12 {
13 int z; 14 z=x-y; 15 return(z); 16 } 17
18 int cheng(int x,int y) 19 { 20 int z; 21 z=x*y; 22 return(z); 23 } 24
25 int chu(int x,int y) 26 {
27 int z; 28 z=x/y; 29 return(z); 30 }
31 int main() 32 {
33 int i,j,x; 34 int op;
35 int ed; 36 int z=0;
37 srand((unsigned)(time(NULL))); 38 for(x=0;x<10;x++) 39 { 40
41 j=rand()1; 42 i=rand()1; 43 op=rand()%5; 44 switch(op) 45 { 46 case 1:
47 printf(\,x,i,j); 48 scanf(\,&ed); 49 if(ed==add(i,j)) 50 {
51 printf(\); 52 z+=1; 53 } 54 else
55 printf(\); 56 break; 57 case 2:
58 printf(\,x,i,j); 59 scanf(\,&ed); 60 if(ed==jian(i,j)) 61 {
62 printf(\); 63 z+=1; 64 } 65 else
66 printf(\); 67 break; 68 case 3:
69 printf(\,x,i,j); 70 scanf(\,&ed); 71 if(ed==cheng(i,j)) 72 {
73 printf(\); 74 z+=1; 75 } 76 else
77 printf(\); 78 break;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验五 函数的简单应用在线全文阅读。
相关推荐: