C语言实验四-函数和程序结构.doc
文本预览下载声明
实验四 C++函数与程序结构一、实验目的掌握函数的定义、声明、调用的方法;熟悉函数实参与形参的对应关系;能够编制并测试函数。4.掌握函数的嵌套调用和递归调用的方法;5.掌握局部变量、全局变量和静态变量、动态变量的使用二、实验内容 (共6题,任选3题完成) 1.编写函数,令其在屏幕上显示一个由”#”号围成的空心正方形,该正方形的边长由参数side指定。例如:如果side的值是5,则函数就会显示:##### # # # # # # #####如果side的值是3,则函数就会显示:### # # ###程序:#includestdio.hvoid main(){ void side(int x); int s; printf(请输入空心正方形边长side:); scanf(%d,s); side(s);}void side(int x){ for(int b=1;b=x;b++) printf(#); printf(\n); for(int c=2;c=x-1;c++) { for(int d=1;d=x;d++) { if(d==1||d==x) printf(#); else printf( ); } printf(\n); } for(int e=1;e=x;e++) printf(#); printf(\n);}2.编写猜数字游戏:让计算机随机产生一个1~100以内的正整数,让用户来猜这个数,并提示是大了还是小了,或是刚好猜中。若猜错了,程序就会执行循环,若猜对了,程序显示: Excellent!You guessed the number! Would you like to play again (yes or no)?用户如果输入n或N,则程序终止;用户如果输入y或Y,则重新产生随机数,并开始新一轮的游戏。提示:使用随机函数产生1~100的随机数。随机数产生方法:(1)使用rand()函数 rand()函数可以生成0~32768之间的一个无符号整数,rand()函数的函数原型可以在cstdlib.h头文件中找到。 生成1~6之间的整数:1+rand()%6生成1~10之间的整数:1+rand()%10………… 例:产生1-10之间的整数程序如下:多次运行上述程序,发现随机数的顺序都是不变的,这怎么算的上是随机数呢?因为,rand()函数实际上生成的是“伪随机数”。(2)如何产生满足条件的随机数为了让随机数的顺序也是随机的,我们利用函数srand(time(NULL)),其中srand()函数的原型包含在cstdlib.h头文件中,time(NULL)函数原型包含在ctime.h头文件中。例如:注意:(1)srand()函数只需在程序中调用一次,就可获得所需的随机化结果,多次调用不仅徒劳无益,还会降低程序性能。(2)srand()、rand()、time()的详细信息请参看VC++6.0的帮助部分。程序:#includestdio.h#includecstdlib#includectimevoid main(){ int i,j,b; int a; srand(time(NULL)); do { i=(rand()%100); printf(随机数%4d\n,i); printf(游戏开始!请猜测改随机数:); scanf(%d,j); while(i!=j) { if(ij) printf(你猜小了,请重新输入:); else printf(你猜大了,请重新输入:); scanf(%d,j); } printf( 恭喜啦!你猜对了!\n 你想再玩(是1或否2 ):); //a=getchar(); scanf(%d,a); printf(\n); }while(a!=2); printf(\n \n \n 游戏结束!!!!\n \n \n\n);}3.在一个多层停车库停车3小时,最低收费为$2.00,如果超出3小时,每小时会增加$0.50的费用。停车24小时,最高收取费用$10.00。假定每辆车不会一次停留24小时以上。有3位顾客昨天将车停在次停车库,请编写程序来计算应该收取的费用。在程序中,应该可以输入每位顾客停车的小时数,还可以用简单明了的表格方式打印计算结果,然后计算并打印出昨天收取的全部费用。程序应该调用CalCharges函数来确定每位顾客的费用。程序输出形式如下:Enter the hours parked for three cars: 1.5 4.0 24.0Car Hours Charges1 1.5 2.002
显示全部