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