计算机算法实践题讲述.docVIP

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

2004年秋上机试卷01 改错题 以下程序的功能是:求n(n≤100)个数的均方差。 均方差的计算公式为d=,其中平均值为。。 含有错误的原程序如下: #includeiostream.h double average(double x[],int n) //求平均值,数组x具有n个元素 { double sum;int k=n; while(k--0) sum+=x[k]; return sum/n; } void variance(double x[],int n) //求均方差,数组x具有n个元素 { double ave=average(x,n),d=0; for(int i=0;in;i++) d+=(x[i]-ave)*(x[i]-ave); return d; } void main() { int n; cout请输入数据个数:; cinn; cout请输入n个数据:; double a[n]; for(int i=0;in;i++) cina[i]; coutvariance(a,n)endl; //例如,5个数1、2、3、4、5的均方差为2 } 二、编程题 定义一个类PALIN,用于在一个指定的范围内查找其平方是一个回文数的整数x,统计满足条件之整数的个数,并输出它们:回文数是指该整数中的各位数字两边对称。例如:1、22、121、4224等均是回文数。算法提示:判断一个数是否为回文,可以将这个数的每一位数字分解到数组中,然后判断数组元素是否对称。 具体要求如下: (1)私有数据成员。 int low,up:存放给定整数范围的下限和上限。 int a[100]:存放满足条件的整数。 int count:存放满足条件的整数的个数。 (2)公有成员函数。 PALIN(int t1, int t2):构造函数,用t1和t2初始化low和up,同时初始化count。 int palin(int x):判断整数x是否为回文数。若是,返回1;否则返回0。 void fun( ):求满足条件的整数,并依次放入数组a。 void show( ):输出查找范围、满足条件的整数及其个数。 (3)在主函数中定义一个PALIN类的对象p,给定的查找范围为[100,1000]。通过对象p调用成员函数实现查找及输出。本题正确的输出结果为 count=8 x x*x 101 10201 111 12321 121 14641 202 40804 212 44944 264 69696 307 94249 836 698896 答案: 一、 #includeiostream.h double average(double x[],int n) { double sum;int k=n; //double sum=0; while(k--0) sum+=x[k]; return sum/n; } void variance(double x[],int n) //double { double ave=average(x,n),d=0; for(int i=0;in;i++) d+=(x[i]-ave)*(x[i]-ave); return d; //return d/n; } void main() { int n; cout请输入数据个数:; cinn; cout请输入n个数据:; double a[n]; //double a[100]; for(int i=0;in;i++) cina[i]; coutvariance(a,n)endl; } 二、 #includeiostream.h class PALIN { int low,up; int a[100]; int count; public: PALIN(int t1,int t2) {low=t1;up=t2;count=0; } int palin(int x) {int t[100],i=0,j=0; while(x) t[j++]=x%10,x/=10; j--; for(;ij;i++,j--) if(t

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档