c语言基础110章练习题题库测试题带答案.docx
《c语言基础110章练习题题库测试题带答案.docx》由会员分享,可在线阅读,更多相关《c语言基础110章练习题题库测试题带答案.docx(109页珍藏版)》请在冰豆网上搜索。
c语言基础110章练习题题库测试题带答案
1.概念填空题
1.1用编写的程序称为“源程序”。
计算机(能/不能)直接识别源程序,必须将其翻译成二进制代码才能在机器上运行。
一旦编译成功,目标程序就可以反复执行。
1.2C++的程序由一个或多个组成,其中一定有一个称为主函数的函数。
在组成程序的函数中,它是程序执行的,也是程序运行的。
对函数的描述由“{}”中的语句序列完成,每个语句以符号结束。
C++程序大小写。
1.3布尔型数值只有两个:
,。
在C++的算术运算式中,分别当作,。
1.4字符由括起来,字符串由括起来。
字符只能有个字符,字符串可以有
个字符。
空串的表示方法为。
1.5&&与||表达式按的顺序进行计算,以&&连接的表达式,如果左边的计算结果为,右边的计算就不需要进行了,整个逻辑表达式的结果为。
以||连接的表达式,如果左边的计算结果为,就能得到整个逻辑表达式的结果为。
1.6>>运算符将一个数右移n位,相当于将该数2n,<<运算数将一个数左移n位,相当于将该数2n。
1.7前置++、--的优先级于后置++、--。
2.概念填空题
1.1用高级语言编写的程序称为“源程序”。
计算机不能(能/不能)直接识别源程序,必须将其翻译成二进制代码才能在机器上运行。
1.2C++的程序由一个或多个函数组成,其中一定有一个称为主函数的main函数。
在组成程序的函数中,它是程序执行的入口,也是程序运行的结束点。
对函数的描述由“{}”中的语句序列完成,每个语句以;符号结束。
C++程序区别大小写。
true,false。
在C++的算术运算式中,分别当作1,0。
1.4字符由‘括起来,字符串由“括起来。
字符只能有1个字符,字符串可以有0-多个个字符。
空串的表示方法为NULL。
1.5&&与||表达式按优先级的顺序进行计算,以&&连接的表达式,如果左边的计算结果为false,右边的计算就不需要进行了,整个逻辑表达式的结果为false。
以||连接的表达式,如果左边的计算结果为true,就能得到整个逻辑表达式的结果为true。
1.6>>运算符将一个数右移n位,相当于将该数缩小2n,<<运算数将一个数左移n位,相当于将该数扩大2n。
1.7前置++、--的优先级高于于后置++、--。
编程题
1输入平面上某点横坐标x和纵坐标y,若该点在由图2-10表示的方块区域内,则输出1;否则输出0。
#include
usingnamespacestd;
intmain(){
doublex,y;
cin>>x>>y;
if(abs(x)<=2&&abs(y)<=2)cout<<1<elsecout<<0<return0;}2定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456075及以上591214(每满1000公里加收1元)15(每满1000公里加收1元)*重量在档次之间按高档靠#includeusingnamespacestd;intmain(){ints,l,w;//s表示邮资,l表示距离,w表示重量cin>>l>>w;if(w<=15)s=5;elseif(w<=30)s=9;elseif(w<=45)s=12;elseif(w<=60)s=14+l/1000;elses=15+l/1000;cout<return0;}3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。#include#includeusingnamespacestd;intmain(){charkiller;for(killer='A';killer<='D';killer++)if(((killer!='A')+(killer=='C')+(killer=='D')+(killer!='D'))==3)//三真一假,进行逻辑判断cout<<"Killeris"<return0;}4求一个大于指定数n的最小素数,n由键盘输入。#include#includeusingnamespacestd;intmain(){intn,i,k;cin>>n;while(1){k=(int)sqrt(++n);i=1;while(++i<=k){if(n%i==0)break;}if(i>k){cout<break;}}return0;}5将100元换成20元、10元和5元的组合,共有多少种组合方法?#includeusingnamespacestd;intmain(){inti,j,k,count=0;for(i=0;i<=10;i++)//i是10元张数,j是5元张数,k是1元张数for(j=0;j<=20;j++){k=100-10*i-5*j;if(k>=0){cout<count++;}}cout<return0;}6编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如6=1+2+3,6就是一个完数。#includeusingnamespacestd;intmain(){inti,a,sum_yz;//sum_yz是a的因子和for(a=1;a<1000;a++){sum_yz=0;for(i=1;i//求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if(a==sum_yz)cout<}return0;}7.求4个不同的整数,其平方和等于200。#include#includeusingnamespacestd;intmain(){inta,b,c,d;for(a=1;a<=14;a++)for(b=a+1;b<=14;b++)for(c=b+1;c<=14;c++)for(d=c+1;d<=14;d++)if(a*a+b*b+c*c+d*d==200)cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
elsecout<<0<return0;}2定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456075及以上591214(每满1000公里加收1元)15(每满1000公里加收1元)*重量在档次之间按高档靠#includeusingnamespacestd;intmain(){ints,l,w;//s表示邮资,l表示距离,w表示重量cin>>l>>w;if(w<=15)s=5;elseif(w<=30)s=9;elseif(w<=45)s=12;elseif(w<=60)s=14+l/1000;elses=15+l/1000;cout<return0;}3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。#include#includeusingnamespacestd;intmain(){charkiller;for(killer='A';killer<='D';killer++)if(((killer!='A')+(killer=='C')+(killer=='D')+(killer!='D'))==3)//三真一假,进行逻辑判断cout<<"Killeris"<return0;}4求一个大于指定数n的最小素数,n由键盘输入。#include#includeusingnamespacestd;intmain(){intn,i,k;cin>>n;while(1){k=(int)sqrt(++n);i=1;while(++i<=k){if(n%i==0)break;}if(i>k){cout<break;}}return0;}5将100元换成20元、10元和5元的组合,共有多少种组合方法?#includeusingnamespacestd;intmain(){inti,j,k,count=0;for(i=0;i<=10;i++)//i是10元张数,j是5元张数,k是1元张数for(j=0;j<=20;j++){k=100-10*i-5*j;if(k>=0){cout<count++;}}cout<return0;}6编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如6=1+2+3,6就是一个完数。#includeusingnamespacestd;intmain(){inti,a,sum_yz;//sum_yz是a的因子和for(a=1;a<1000;a++){sum_yz=0;for(i=1;i//求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if(a==sum_yz)cout<}return0;}7.求4个不同的整数,其平方和等于200。#include#includeusingnamespacestd;intmain(){inta,b,c,d;for(a=1;a<=14;a++)for(b=a+1;b<=14;b++)for(c=b+1;c<=14;c++)for(d=c+1;d<=14;d++)if(a*a+b*b+c*c+d*d==200)cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
return0;
}
2定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。
重量(克)
邮资(元/件)
15
30
45
60
75及以上
5
9
12
14(每满1000公里加收1元)
15(每满1000公里加收1元)
*重量在档次之间按高档靠
ints,l,w;//s表示邮资,l表示距离,w表示重量
cin>>l>>w;
if(w<=15)s=5;
elseif(w<=30)s=9;
elseif(w<=45)s=12;
elseif(w<=60)s=14+l/1000;
elses=15+l/1000;
cout<
3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。
以下为4个嫌疑犯的会供词。
A说:
不是我;B说:
是C;C说:
是D;D说:
C在胡说。
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定谁是凶手。
intmain()
{
charkiller;
for(killer='A';killer<='D';killer++)
if(((killer!
='A')+(killer=='C')+(killer=='D')+(killer!
='D'))==3)
//三真一假,进行逻辑判断
cout<<"Killeris"<return0;}4求一个大于指定数n的最小素数,n由键盘输入。#include#includeusingnamespacestd;intmain(){intn,i,k;cin>>n;while(1){k=(int)sqrt(++n);i=1;while(++i<=k){if(n%i==0)break;}if(i>k){cout<break;}}return0;}5将100元换成20元、10元和5元的组合,共有多少种组合方法?#includeusingnamespacestd;intmain(){inti,j,k,count=0;for(i=0;i<=10;i++)//i是10元张数,j是5元张数,k是1元张数for(j=0;j<=20;j++){k=100-10*i-5*j;if(k>=0){cout<count++;}}cout<return0;}6编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如6=1+2+3,6就是一个完数。#includeusingnamespacestd;intmain(){inti,a,sum_yz;//sum_yz是a的因子和for(a=1;a<1000;a++){sum_yz=0;for(i=1;i//求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if(a==sum_yz)cout<}return0;}7.求4个不同的整数,其平方和等于200。#include#includeusingnamespacestd;intmain(){inta,b,c,d;for(a=1;a<=14;a++)for(b=a+1;b<=14;b++)for(c=b+1;c<=14;c++)for(d=c+1;d<=14;d++)if(a*a+b*b+c*c+d*d==200)cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
4求一个大于指定数n的最小素数,n由键盘输入。
intn,i,k;
cin>>n;
while
(1){
k=(int)sqrt(++n);
i=1;
while(++i<=k){
if(n%i==0)
break;
if(i>k){
cout<break;}}return0;}5将100元换成20元、10元和5元的组合,共有多少种组合方法?#includeusingnamespacestd;intmain(){inti,j,k,count=0;for(i=0;i<=10;i++)//i是10元张数,j是5元张数,k是1元张数for(j=0;j<=20;j++){k=100-10*i-5*j;if(k>=0){cout<count++;}}cout<return0;}6编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如6=1+2+3,6就是一个完数。#includeusingnamespacestd;intmain(){inti,a,sum_yz;//sum_yz是a的因子和for(a=1;a<1000;a++){sum_yz=0;for(i=1;i//求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if(a==sum_yz)cout<}return0;}7.求4个不同的整数,其平方和等于200。#include#includeusingnamespacestd;intmain(){inta,b,c,d;for(a=1;a<=14;a++)for(b=a+1;b<=14;b++)for(c=b+1;c<=14;c++)for(d=c+1;d<=14;d++)if(a*a+b*b+c*c+d*d==200)cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
5将100元换成20元、10元和5元的组合,共有多少种组合方法?
inti,j,k,count=0;
for(i=0;i<=10;i++)//i是10元张数,j是5元张数,k是1元张数
for(j=0;j<=20;j++){
k=100-10*i-5*j;
if(k>=0){
count++;
cout<return0;}6编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如6=1+2+3,6就是一个完数。#includeusingnamespacestd;intmain(){inti,a,sum_yz;//sum_yz是a的因子和for(a=1;a<1000;a++){sum_yz=0;for(i=1;i//求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if(a==sum_yz)cout<}return0;}7.求4个不同的整数,其平方和等于200。#include#includeusingnamespacestd;intmain(){inta,b,c,d;for(a=1;a<=14;a++)for(b=a+1;b<=14;b++)for(c=b+1;c<=14;c++)for(d=c+1;d<=14;d++)if(a*a+b*b+c*c+d*d==200)cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
6编程求1000以内的所有完数。
完数指的是一个数恰好等于它的所有因子之和。
例如6=1+2+3,6就是一个完数。
inti,a,sum_yz;//sum_yz是a的因子和
for(a=1;a<1000;a++){
sum_yz=0;
for(i=1;i//求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if(a==sum_yz)cout<}return0;}7.求4个不同的整数,其平方和等于200。#include#includeusingnamespacestd;intmain(){inta,b,c,d;for(a=1;a<=14;a++)for(b=a+1;b<=14;b++)for(c=b+1;c<=14;c++)for(d=c+1;d<=14;d++)if(a*a+b*b+c*c+d*d==200)cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
//求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算
if(a==sum_yz)cout<}return0;}7.求4个不同的整数,其平方和等于200。#include#includeusingnamespacestd;intmain(){inta,b,c,d;for(a=1;a<=14;a++)for(b=a+1;b<=14;b++)for(c=b+1;c<=14;c++)for(d=c+1;d<=14;d++)if(a*a+b*b+c*c+d*d==200)cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
7.求4个不同的整数,其平方和等于200。
inta,b,c,d;
for(a=1;a<=14;a++)
for(b=a+1;b<=14;b++)
for(c=b+1;c<=14;c++)
for(d=c+1;d<=14;d++)
if(a*a+b*b+c*c+d*d==200)
cout<return0;}8从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusingnamespacestd;intmain(){inta,b,c;cin>>a;b=0;for(c=a;c;){b=b*10+c%10;c/=10;}if(a==b)cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
8从键盘输入一个整数,判断该数是否为回文数。
所谓的回文数就是从左到右读与从右向左读都是一样的数。
例如7887、23432是回文数。
inta,b,c;
cin>>a;
b=0;
for(c=a;c;){
b=b*10+c%10;
c/=10;
if(a==b)
cout<elsecout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
else
cout<return0;}9编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusingnamespacestd;intmain(){doubles=0,i=1;intp=1;do{s=s+p*1/i;i+=2;p*=-1;}while(1/i>=1e-6);cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
9编写一程序,按下列公式求
,精确到最后一项绝对值小于10-6。
=
doubles=0,i=1;
intp=1;
do{
s=s+p*1/i;
i+=2;
p*=-1;
}while(1/i>=1e-6);
cout<<4*s<return0;}10用迭代法编程求的近似值。求平方根的迭代公式为:#include#includeusingnamespacestd;intmain(){doublea,x0,x1;cout<<"输入初始值";cin>>a;x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)<1e-6);cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
10用迭代法编程求
的近似值。
求平方根的迭代公式为:
doublea,x0,x1;
cout<<"输入初始值";
x0=a/2;
x1=(x0+a/x0)/2;
x0=x1;
}while(fabs(x0-x1)<1e-6);
cout<<"根为"<return0;}11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第10次落地时,共经过多少米?第10次反弹多高?#includeusingnamespacestd;intmain(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++){sn+=2*hn;hn/=2;}cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
11一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。
编程求它在第10次落地时,共经过多少米?
第10次反弹多高?
doublesn=100,hn=sn/2;
intn;
for(n=2;n<=10;n++){
sn+=2*hn;
hn/=2;
cout<<"第10次落地时共经过"<cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
cout<<"第10次反弹"<return0;}12猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。#includeusingnamespacestd;intmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
12猴子吃桃问题:
猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。
intday,x1,x2;
day=9;
x2=1;
while(day>0){
x1=(x2+1)*2;
x2=x1;
day--;
cout<<"桃子总数"<return0;}编程题1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456060以上591214(每满1000公里加收1元)15(每满1000公里加收1元)注意:重量在档次之间的按高档算。3.某地发生了一件谋杀案,警察通过确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的会供词。A说:不是我;B说:是C;C说:是D;D说:C在胡说。已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定谁是凶手。4.求一个大于指定数n的最小素数,n由键盘输入。5.将100元换成20元、10元和5元的组合,共有多少种组合方法?6.编程求1000以内的所有完数。完数指的是一个数恰好等于它的所有因子之和。例如,6=1+2+3,6就是一个完数。7.求4个不同的整数,其平方和等于200。8.从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。9.编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=10.用迭代法编程求的近似值。求平方根的迭代公式为:11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。编程求它在第十次落地时,共经过多少米?第十次反弹多高?12.猴子吃桃问题:猴子摘下若干个桃子,第1天吃了所有桃子中的一半多一个,以后每天吃前一天剩下的一半多一个,到第10天吃之前发现只剩下一个桃子,问猴子共摘了几个桃子。编程题1输入m、n和p的值,求s=的值。注意判断运算中的溢出。#includeusingnamespacestd;doublesum(intn,inte){doubles=0;inti,j,q;for(i=1;i<=n;i++){q=1;for(j=1;j<=e;j++)q*=i;s+=q;}returns;}intmain(){doubles;intm,n,p;cin>>m>>n>>p;s=(sum(m,1)+sum(n,3))/sum(p,5);cout<return0;}2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。#include#includeusingnamespacestd;boolIsPrime(long);intmain(){longi,j,k;for(i=800;i<=900;i+=2){k=i/2;for(j=2;j<=k;j++)if(IsPrime(j)&&IsPrime(i-j)){cout<break;}}return0;}boolIsPrime(longn){longi,k;k=(int)sqrt(n);i=1;while(++i<=k)if(n%i==0)returnfalse;returntrue;}3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。#includeusingnamespacestd;intf(int,int);intmain(){inta,b;cin>>a>>b;cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
1输入平面上某点横坐标x和纵坐标y,若该点在由下图表示的方块区域内,则输出1;否则输出0。
2假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。
60以上
注意:
重量在档次之间的按高档算。
4.求一个大于指定数n的最小素数,n由键盘输入。
5.将100元换成20元、10元和5元的组合,共有多少种组合方法?
6.编程求1000以内的所有完数。
例如,6=1+2+3,6就是一个完数。
8.从键盘输入一个整数,判断该数是否为回文数。
9.编写一程序,按下列公式求
10.用迭代法编程求
11.一球从100米高度落下,每次落地后反跳回原来高度的一半,再落下。
编程求它在第十次落地时,共经过多少米?
第十次反弹多高?
12.猴子吃桃问题:
1输入m、n和p的值,求s=
的值。
注意判断运算中的溢出。
doublesum(intn,inte){
doubles=0;
inti,j,q;
for(i=1;i<=n;i++){
q=1;
for(j=1;j<=e;j++)
q*=i;
s+=q;
returns;
doubles;
intm,n,p;
cin>>m>>n>>p;
s=(sum(m,1)+sum(n,3))/sum(p,5);
2设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:
任何一个充分大的偶数都可以表示为两个素数之和。
boolIsPrime(long);
longi,j,k;
for(i=800;i<=900;i+=2)
k=i/2;
for(j=2;j<=k;j++)
if(IsPrime(j)&&IsPrime(i-j))
boolIsPrime(longn){
longi,k;
k=(int)sqrt(n);i=1;
while(++i<=k)
returnfalse;
returntrue;
3编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。
intf(int,int);
inta,b;
cin>>a>>b;
cout<return0;}intf(inta,intb){if(a%b)returnf(b,a%b);returnb;}4用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。#includeusingnamespacestd;doubleP(intn,doublex){if(n==0)return1;if(n==1)returnx;return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;}intmain(){cout<<"P(4,1.5)="<return0;}5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=0#includeusingnamespacestd;intdigit(intm,intn);intmain(){intm,n;cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
intf(inta,intb){
if(a%b)returnf(b,a%b);
returnb;
4用递归函数实现勒让德多项式。
并在主函数中求P5(1.4)。
doubleP(intn,doublex){
if(n==0)return1;
if(n==1)returnx;
return((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/n;
cout<<"P(4,1.5)="<
5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。
例如:
digit(1234,2)=3digit(1234,6)=0
intdigit(intm,intn);
intm,n;
cout<<"请输入整数和数字位数"<cin>>m>>n;cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
cin>>m>>n;
cout<return0;}intdigit(intm,intn){intk;while(m&&n){k=m%10;n--;m=m/10;}if(n)return0;//n超过整数实际位数returnk;}6使用重载函数编程序分别把两个数和三个数从大到小排列。#includeusingnamespacestd;voidf(int,int,int);voidf(int,int);intmain(){inta,b,c;cin>>a>>b>>c;f(a,b);f(a,b,c);return0;}voidf(inta,intb,intc){intt;if(at=a;a=b;b=t;}if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
intdigit(intm,intn)
intk;
while(m&&n)
k=m%10;
n--;
m=m/10;
if(n)return0;//n超过整数实际位数
returnk;
6使用重载函数编程序分别把两个数和三个数从大到小排列。
voidf(int,int,int);
voidf(int,int);
cin>>a>>b>>c;
f(a,b);
f(a,b,c);
voidf(inta,intb,intc){
intt;
if(a
t=a;a=b;b=t;
if(at=a;a=c;c=t;}if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
t=a;a=c;c=t;
if(bt=b;b=c;c=t;}cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
t=b;b=c;c=t;
cout<}voidf(inta,intb){if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
voidf(inta,intb){
if(a>b)cout<elsecout<}编程题1.输入m、n和p的值,求s=的值。2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。4.用递归函数实现勒让德多项式。并在主函数中求P5(1.4)。5.编写函数intdigit(intm,intn),求整数m从右往左数第n位数字,并将该数字作为函数值返回。例如:digit(1234,2)=3digit(1234,6)=06.使用重载函数编程序分别把两个数和三个数从大到小排列。编程题1已知求成绩的平均值和均方差公式:ave=dev=其中n为学生人数,为第i个学生成绩。求某班学生的平均成绩和均方差。#include#include#include#includeusingnamespacestd;doubleave(int*,int);doubledev(int*,double,int);voidcreate(int*,int);constintN=10;intmain(){inta[N],i;doubles,d;srand(time(0));create(a,N);for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
elsecout<
1.输入m、n和p的值,求s=
2.设计一函数,判断一整数是否为素数,并完成在800-900之间,验证歌德巴赫猜想:
3.编写递归函数求两个数的最大公约数,并在主函数中加以调用验证。
4.用递归函数实现勒让德多项式。
6.使用重载函数编程序分别把两个数和三个数从大到小排列。
1已知求成绩的平均值和均方差公式:
ave=
dev=
其中n为学生人数,
为第i个学生成绩。
求某班学生的平均成绩和均方差。
doubleave(int*,int);
doubledev(int*,double,int);
voidcreate(int*,int);
constintN=10;
inta[N],i;
doubles,d;
srand(time(0));
create(a,N);
for(i=0;icout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
cout<s=ave(a,N);cout<<"ave="<d=dev(a,s,N);cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
s=ave(a,N);
cout<<"ave="<
d=dev(a,s,N);
cout<<"dev="<return0;}doubleave(int*a,intN){doubles=0;inti;for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
doubleave(int*a,intN){
inti;
for(i=0;is+=a[i];returns/N;}doubledev(int*a,doubles,intN){inti;doubled=0;for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
s+=a[i];
returns/N;
doubledev(int*a,doubles,intN){
doubled=0;
for(i=0;id+=(a[i]-s)*(a[i]-s);returnsqrt(d/N);}voidcreate(int*c,intN){inti;for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
d+=(a[i]-s)*(a[i]-s);
returnsqrt(d/N);
voidcreate(int*c,intN){
for(i=0;ic[i]=rand()%100;}2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。#include#include#include#includeusingnamespacestd;voidcreate(int*,int);voidprime(int*,int);constintN=10;intmain(){inta[N],i;srand(time(0));create(a,N);for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
c[i]=rand()%100;
2用随机函数产生10个互不相同的两位整数,存放至一维数组中,并输出其中的素数。
voidprime(int*,int);
for(i=0;icout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
cout<cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
cout<prime(a,N);return0;}voidprime(int*p,intN){inti,j,k;for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
prime(a,N);
voidprime(int*p,intN){
inti,j,k;
for(i=0;iif(p[i]<2)continue;k=sqrt(p[i]);for(j=2;j<=k;j++)if(p[i]%j==0)break;if(j>k)cout<}cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
if(p[i]<2)continue;
k=sqrt(p[i]);
if(p[i]%j==0)break;
if(j>k)cout<
cout<}voidcreate(int*c,intN){inti,d;intf[100]={0};for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
inti,d;
intf[100]={0};
for(i=0;ido{d=rand()%100;}while(f[d]);c[i]=d;f[d]=1;}}3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。提示:选择排序算法如下选择排序法共需进行n-1轮排序。第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。下图是5个数的选择排序过程。#includeusingnamespacestd;constintN=5;voidselectSort(inta[],intn){inti,j,t,min;for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
d=rand()%100;
}while(f[d]);
c[i]=d;
f[d]=1;
3.输入10个整数,用选择排序法从小到大对其进行排序,输出排序后结果。
提示:
选择排序算法如下
选择排序法共需进行n-1轮排序。
第i轮(0≤i≤n-2)排序从a[i]、a[i+1]、……a[n-1]中找出最小的数和a[i]互换。
下图是5个数的选择排序过程。
constintN=5;
voidselectSort(inta[],intn){
inti,j,t,min;
for(i=0;imin=i;//每一轮最小元素下标min设初值是ifor(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
min=i;//每一轮最小元素下标min设初值是i
for(j=i+1;j//找出a[i]到a[n-1]的最小元素,下标为minif(a[min]>a[j])min=j;if(min!=i){//如果a[i]不是最小,a[i]和a[min]互换t=a[min];a[min]=a[i];a[i]=t;}}}intmain(){inta[N],i;cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
//找出a[i]到a[n-1]的最小元素,下标为min
if(a[min]>a[j])
min=j;
if(min!
=i){//如果a[i]不是最小,a[i]和a[min]互换
t=a[min];
a[min]=a[i];
a[i]=t;
cout<<"输入"<for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
for(i=0;icin>>a[i];selectSort(a,N);for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
cin>>a[i];
selectSort(a,N);
for(i=0;icout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
cout<return0;}4在一个二维数组中形成如以下形式的n阶矩阵:(1)以方阵形
4在一个二维数组中形成如以下形式的n阶矩阵:
(1)以方阵形
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1