实验四函数程序设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计实验报告 实验四 函数程序设计 一、实验目的二、实验内容及步骤—编译—连接,直到编译、连接成功。最后运行程序,输出正确结果。 下述程序中,函数FUN功能是:计算正整数NUM的各位上的数字之积。例如,若输入252,则输出应该是20;若输入202,则输出应该是0。 #include stdio.h long fun(num){long k=1; do {k*=num%10; num\=10;//整除符号错误 }while (num) return k; } int main() {long n; scanf(“%ld”,n); printf(“\n%ld\n”,fun(n)); return 0; } 修改后程序代码: #include stdio.h long fun(long num) { long k=1; do { k*=num%10; num=num/10; }while (num); return k; } int main() { long n; scanf(%ld,n); printf(\n%ld\n,fun(n)); return 0; } 2、编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,掷两枚骰子之后,计算点数之和。如果第一次掷的点数和为7或11,则游戏者获胜;如果第一次掷的点数和为2、3或12,则游戏者输;如果第一次掷的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到掷到该点数时算是游戏者获胜。如果投掷7次仍未掷到该点数,则游戏者输。 程序代码: #includestdio.h #includestdlib.h//用rand()函数的头文件 #includetime.h//产生随机数 int main() { int rolldice(); void tiedice(int); srand(time(NULL)); int sum1,mypoint; sum1=rolldice(); switch(sum1) { case 7: case 11: printf(恭喜你!!你赢了!!); break; case 2: case 3: case 12: printf(很抱歉,你输了。。); break; default: mypoint=sum1; tiedice(sum1); } return 0; } int rolldice() { int first,second,sum; first=1+rand()%6;//模拟所掷骰子1的点数,产生随机数 second=1+rand()%6;//模拟所掷骰子2的点数,产生随机数 sum=first+second; printf(你所掷的骰子:%d+%d\n,first,second); return sum; } void tiedice(int num) { int again=1,mypoint; mypoint=rolldice(); while(again=5)//注意循环条件 { if(mypoint==num) { printf(恭喜你!!你赢了!!); break; } else { mypoint=rolldice();//再次调用rolldice函数产生随机数 again++; } } if(again5)printf(很抱歉,你输了。。); } 运行结果: 3. 递归程序设计练习——计算最大公约数 利用计算最大公约数的三条性质,用递归方法计算两个正整数的最大公约数。 性质1:如果xy,则x和y的最大公约数与x-y和y的最大公约数相同 性质2:如果yx,则x和y的最大公约数与x和y-x的最大公约数相同 性质3:如果x=y,则x和y的最大公约数与x值和y值相同 具体要求: ①主函数中随机输入x、y的值 ②所有变量定义为整数变量。 ③键盘输入数据前要有提示。 ④要求用函数求最大公约数。 程序代码: #includestdio.h int main() { void gys(int x,int y); printf(请输入两个正整数:); int n,m; scanf(%d%d,n,m); gys(n,m); return 0; } void gys(int x,int y) { if(xy) gys(x-y,y); else if(xy) gys(x,y-x);

文档评论(0)

71z7it87 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档