江南大学《面向对象的程序设计》大作业报告参考.docVIP

  • 44
  • 0
  • 约1.73万字
  • 约 39页
  • 2018-03-04 发布于贵州
  • 举报

江南大学《面向对象的程序设计》大作业报告参考.doc

江南大学《面向对象的程序设计》大作业报告参考

《面向对象 题目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)

1亿VIP精品文档

相关文档