C++实验4.5.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C实验4.5

实验四:循环结构程序设计 (1).输入正整数n, 计算n的阶乘。使用递方法进行程序设计。 1.由于n!=1*2*3*……*n,因此,要计算n的阶乘可以从1开始,由1的阶乘乘以2得到2的阶乘,再乘以3得到3的阶乘.......以此类推。 2、从第一个数开始,依次将乘数赋给i,并进行操作result(result*i,称为阶乘;即if(n1){ return 1 result=1 result(result*i;} 3、输出result; 四、源程序 五、输出结果及调试 (1)分别输入数据 -, 1 ,5, 10,调试运行程序,并记录程序结果。 输入 结果 输入错误 1 1 5 120 10 3.6288e+006 (2)编译运行程序: (2)输入若干字符,统计其中数字字符、空白字符和其他字符的个数,输入EOF结束。 2.掌握switch及break语句的使用。 二、实验内容 1.对字符进行统计,读入字符后用switch 语句判断字符的种类:要统计3种字符数,需要定义3个用于计数的变量 nDigit ,nWhite ,nOther 2.并置初始值0;读入字符用cin.get()函数,在这里用while循环比较合适。白字符指空白键、Tab键和回车键。EOF表示End of File ,其值为-1,从键盘输入 CTRL+Z键即可。 采用重载的 int cin.get( )函数,它返回的是整型数,所以能返回EOF。nDigit ,nWhite ,nOther分别代表3种字符数; 设置nWhite、nOther、nDigit变量来表示白字符、其他字符和数字字符。 while (c!= EOF ){ case ‘数字’: nDigit自加1;break; case ‘换行跳行’: nWhite自加1;break; default: nOther自加1;break; } 3、输出nDigit ,nWhite ,nOther字符数结果。 三、源程序 四、输出结果 编译并运行程序: (3)约瑟夫(Josephus)问题:n 个人围坐成一圈,从 1 开始顺序编号;游戏开始,从第一个人开始由 1 到 m 循环报数,报到 m 的人退出圈外,问最后留下的那个人原来的序号。首先要定义一个数组,其元素个数为n。n定义为常变量,以便定义数组。 数组元素的值标识该人是否出局,1在圈内,0出局。值为0的元素不参加报数。可用一个整型数k做计数器,采用倒计数,记录留下的人数。 数组是线性排列的,而人是围成圈的,用数组表示要有一种从数组尾部跳到其头部的技巧,即下标加1除以n求余数。 while (l=n){ for(int i=1;i=n;i++){ if(a[i]==1) j++; if(j==m) a[i]=0; if (i==nk1) cout1endl; else couti+(k-1)endl; 3.输出最后留下的那个人原来的序号。 一、实验目的 1.学会do-while循环结构及递推程序设计。 2.掌握与循环语句相关的continue语句的使用。 二、实验内容 由ASCII码表可以看出,大写英文字母的ASCII码值在65至90之间,小写英文字母的ASCII码值在97至122 之间,每一个英文字母的大写和小写的ASCII码相差32。 三、伪码表述 算法:1.定义字符变量str[100],并初始化; 2.while(str[++i]!=\0) do{ if(str[i]a||str[i]z)continue; str[i]-=32; } 3.输出字符结果; 三、源程序 四、输出结果 编译并运行程序: (5). 编程:设计一个程序,输入一个日期,要求算出这一天是本年的第几天。 要算出某天是当年的第几天,应该将当年中本月之前所有月的天数相加,再加上本月至此的天数。但这里有一个闰年问题,2月是一个特殊月,闰年的2月有29天,非闰年的2月只有28天。判断某年是闰年的条件是:该年号能被4整除但不能被100整除,或者能被400整除。例如,1996、2000是闰年,但1800不是闰年。 else if month in (4,6,9

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档