1、ab; if( b) cout”最大值为:”a; else3.设有一函数,其代码如下:int power (x,n) int i,p; for (p=1,i=1; i0; _n-_) return (p);4.本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤,直 至筛中为空时,工作结束,求得2至10中的全部素数。程
2、序中用数组sieve表示筛子,数组元素sievei的值为1时,表示数i在筛子中,值为-1时表示数i已被取走。const int MAX=22500;void main() unsigned int i , range , factor , k ; int sieveMAX ;please input the range : range; /*range指出在多大的范围内寻找素数 */ for (i=2 ;=range ; i+) /* 筛子初始化 */ sievei=1 factor=2 ; while (factor=range) if (sievefactor=1 ) /*筛子最小数是素数
3、 */factor t k=factor; while (ky) z=x; s=a+b; z=y;”s=”s;”z=”z;输出结果为:s=47 输出结果为:z=73、int x=6; 4、int x;while(x+5) for(x=1;x for(i=0;i8;i+) if(n=0;i-)”center!datai;left 输出结果为:765432101、#include int a,b,c,; c=2,c+=10;a = 10;b=11; a * = 2; b / = 2; c % = 2;a,bcendl;输出结果:20,5,02、#include int a = 50 , b(0)
4、; b = +a; b = a+;51,5152,515、#include int i; for(i=4 ;=10 ; i+ ) if (i%3= =0) continue;i;4578106.分析以下程序执行结果#includeint add(int x,int y)return x+y;double add(double x,double y)int a=4,b=6;double c=2.6,d=7.4;add(a,b)add(c,d)解:本题说明函数重载的使用方法, 这里有两个add()函数,一个add()函数的参数与返回值为int型,另一个的参数与返回值为double型,它们是根据参数
5、类型自动区分的。所以输出为: 10,107.分析以下程序的执行结果class Sample double d; public: void setdata(int n)i=n; void setdata(double x)d=x; void disp()i=,d=d;Sample s; s.setdata(10); s.setdata(15.6); s.disp(); 本题说明重载成员函数的使用方法。setdata()成员函数有两个,根据其参数类型加以区分。i=10, d=15.68.分析以下程序的执行结果int a; int &b=a; / 变量引用 b=10;a= 本题说明变量引用的方法。b
6、是a的引用,它们分配相同的空间,b的值即为a的值。所以输出为 a=10。注意:引用是引入了变量或对明的一个 义词,引用不产生对象的副本。9.分析以下程序的执行结果 int x; Sample(); Sample(int a)x=a; Sample(Sample &a)x=a.x+1; void disp()coutx= Sample s1(2),s2(s1); s2.disp(); 本题说明类拷贝构造函数的使用方法。Sample类的Sample(Sample &a)构造函数是一个拷贝构造函数,将a对象的x值赋给当前对象的x后加1。x=3。10.分析以下程序的执行结果void swap(int
7、&x,int &y)int temp;temp=x; x=y; y=temp;int x=10,y=20;swap(x,y);,y=y这里的函数采用引用调用的方式,所以输出为:x=20,y=10在函数调用里,引用调用与传址调用的效果相同,但更加简洁直观。11.分析以下程序的执行结果int a=10,20,30,40,*pa=a;int *&pb=pa;pb+;*papa为数组的指针,首先指向a0,pb是pa的引用,当执行pb+时,也使pa指向了a1,所以输出为:2012.分析以下程序的执行结果int x;public:Sample();Sample(int a)x=a;Sample(Sample &a)x=a.x+ +10;void disp()coutSample s1(2),s2(s1);s1.disp();s2.dis
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1