- 44
- 0
- 约1.73万字
- 约 39页
- 2018-03-04 发布于贵州
- 举报
江南大学《面向对象的程序设计》大作业报告参考
《面向对象
题目2-1
题目要求:用穷举法找出1~100间的质数,显示出来。分别使用while, do-while,for循环语句实现。
设计思路:通过判断整除比自己小的数的余数是否为零来判别质数 由于非平方数的因素必有一个小于其平方根值 故可以只验算那些比根值小的数来更快获得结果
程序代码:
使用while:
void main(){int i,j,k,flag; i=2; while(i=100) {
flag=1;
k=sqrt(i);
j=2; while(j=k) {
if(i%j==0) {flag=0; breake; } j++; } if(flag) couti是质数endl;
i++; }}
使用do while:
void main(){int i,j,k,flag; i=2; do
{
flag=1;
k=sqrt(i);
j=2; do
{
if(i%j==0) {flag=0; breake; } j++; }while(j=k); if(flag) couti是质数endl;
i++; }while(i=100);
}
使用for循环:
void main(){
int i,j,k,flag;
for(i=2;i=100;i++)
{
flag=1;
k=sqrt(i);
for(j=2;j=k;j++)
If(i%j==0) {flag=0; breake; }
}
if(flag) couti是质数endl;
}
}void main()
{
char a;
int t[8];
int i;
cout请输入一个数:\n;
cina;
for(i=0;i8;i++)
{
t[i]=a0x01;
a=a1;
}
for(i=7;i=0;i--)
coutt[i];
coutendl;
system(pause);
}
题目:观察下面程序的运行输出,与你设想的有何不同?仔细体会引用的用法。
源程序:
#include iostream.h
int main()
{
int intOne;
int rSomeRef = intOne;
intOne = 5;
cout intOne:\t\t intOne endl;
cout rSomeRef:\t rSomeRef endl;
int intTwo = 8;
rSomeRef = intTwo; // not what you think!
cout \nintOne:\t\t intOne endl;
cout intTwo:\t\t intTwo endl;
cout rSomeRef:\t rSomeRef endl;
return 0;
}
程序运行输出:
心得体会:与设想一样
题目3-2
题目要求:用递归的方法编写函数求n阶勒让德多项式的值,在主程序中实现输入、输出;
设计思路:
程序代码:
int main()
{
int x,n;
float polya(int ,int );
cout输入X和N:;
cinxn;
coutpolya(x,n)endl;
return 0;
}
float polya(int x,int n)
{
if(n==0) return 1;
else if(1==n) return x;
else return ( (2*n-1)*x*polya(n-1,x) - (n-1)*polya(n-2,x) )/n;
}
输出结果:
心得体会:搞懂递归的意义即可
题目3-3
题目要求:求任意2(3或n)个数之和,要求分别用函数:缺省参数,重载和模板函数完成
设计思路:定义不同的函数让两个数相加,然后让其根据数据类型相加。 设计相加的函数,然后用主函数调用函数,运行结果。
程序代码:
函数重载:
int sum(int m,int n)
{
return m+n;
}
double sum(double m,double n)
{
return m+n;
}
int main()
{
int m,n;
cout输入两个数:;
cinmn;
cout他们的和为:sum(m,n)endl;
double
原创力文档

文档评论(0)