1、高级语言程序设计C+平时作业一、分析程序,写输出结果1#include#includevoidmain()intm,k,i;for(m=1;m=10;m+=2)k=m/3;for(i=2;i=k;i+)if(m%i)coutm;792#includevoidfun();voidmain()inti;for(i=1;i5;i+)fun();coutendl;voidfun()staticinta;intb=2;a+=2;couta+bt;468103#includeintfun(intn)if(n=0)return1;return2*fun(n-1);voidmain()inta=5;coutf
2、un(a)endl;324#includevoidmain()char*cp=word;for(inti=0;i4;i+)coutcp+it;word ord rd d二、根据程序功能填空。1.程序把10个数存储到一维数组a中,并求该数组中最大值。#includevoidmain()intmax;inta10=76,55,95,87,85,83,65,90,77,85;int*p=a ;max=*p;for(;pmax)max=*p ;coutmax=maxendl;2下面程序的功能是输出1至100之间每位数字的乘积大于每位数的和的数。例如,45两位数字的乘积为45=20,和为4+5=9。#i
3、ncludevoidmain()intn,k=1,s=0,m;for(n=1;ns)coutnt;3程序对输入的n求s=1+1/23+1/33+1/n3。#includevoidmain()doubles;inti,n;coutn;s=0;for(i=1; in ;i+)s= s=s+(1.0/(n*n*n);couts=sp-data;q=p;while( p-data )if(head=NULL)head=p;else q-next=p; ;q=p;p=newnode; ;cinp-data;q-next=NULL;deletep;5以下程序求方程的全部整数解:3x+2y-7z=5 (0x
4、,y,z100)#includevoidmain()intx,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+)if(z=3*x+2*y-5)%7)break ;z=3*x+2*y-5)/7 ; /求出z的值if( z=0 )/检查z的范围coutx=xy=yz=zendl;三、程序设计1.编写函数输出以下形状的图形,其中构成图形的数字和输出的行数通过参数传送。1222333334444444#includevoidmain()inti,n;for(i=0;i5;i+)for(n=0;n2*i-1;n+)couti;coutendl;2.请编程序,输入两个正整数啊a和
5、b(ab),输出a、b之间所有整数的因数(除1和本身)。每行输出数据不超过10个。例如,若输入a为6,b为8,则输出格式要求如下:thefactorsof6:23thefactorsof7:nofactorthefactorsof8:24#includeusingnamespacestd;voidprintFactor(inti);voidmain()intnumA,numB;coutInputTwoNumbers:numAnumB;for(inti=numA;i=numB;i+)printFactor(i);voidprintFactor(inti)coutFACTORSOFi:endl;i
6、nt*fact=newint();intn=0;for(intk=2;ki;k+)if(i%k=0)factn=k;n+;if(n=0)coutNOFACTORendl;elsefor(intj=0;jn;j+)coutfactj;if(j+1)%10=0)coutendl;coutendl;3请编程序,找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例如:5是25右边的数,25是625右边的数,所以5和25都是同构数。#includeusingnamespacestd;intmain()longx,y,i=10;intflag=0;for(x=1;x100;x+)y=
7、x*x;while(y/i!=0)if(y%i=x)flag=1;break;i=i*10;if(flag=1)coutxyendl;flag=0;i=10;return0;4.编写一个程序,实现如下功能:(1)从键盘输入aopb。其中a,b为数值;op为字符,限制为+、-、*、/。(2)调用函数count(op,a,b),计算表达式aopb的值。由主函数输出结果。#includeusingnamespacestd;templateTCOUNT(charop,Ta,Tb)switch(op)case+:return(a+b);break;case-:return(a-b);break;case
8、*:return(a*b);break;case/:return(a/b);break;default:coutError.aopb;if(op=/&b=0)coutInputError.endl;coutResultisCOUNT(op,a,b)endl;system(pause);return0;5.编写一个程序,实现如下功能:(1)输入k(100)个整数到数组x100中;(2)计算k个数的平均值及大于平均值的元素个数。#includefloataverage(int,int);intnum(int,int);voidmain()intk,i,x100;floatave;for(k=0;k
9、i;if(i=0)break;xk=i;ave=average(x,k);cout平均值aveendl;cout大于平均值的元素个数num(x,k)endl;floataverage(intu,intk)inta,sum=0;for(a=0;ak;a+)sum+=ua;return(float)sum/k;intnum(intu,intk)intb,c,m=0;intave=average(u,k);for(c=0;cave)m+;returnm;6.定义函数voidreversion(intary,intsize);逆置数组ary的元素。例如实参数组原来为1,5,3,2,6,8,9,4,调用
10、函数reversion后变成为4,9,8,6,2,3,5,1。voidreversion(intary,intsize)inti;inttemp;for(i=0;isize/2;i+)temp=aryi;aryi=arysize-i;arysize-i=temp;7. 数组a包含50个整数,把a中所有的后项除以前项之商取整后存入数组b(即bi=ai/ai-1,并且b50=a20/a1),最后按每行5个元素的格式输出数组b。#includevoidmain()inta50,b50;inti,j=0;/j用来控制换行for(i=1;i=50;i+)coutnInputaiai;for(i=1;i=
11、50;i+)if(i!=50) bi=ai/ai-1;else bi=a20/a1;for(i=0;i=50;i+)if(j!=5)coutn;cout bi;8.编程输出所有不超过100的其平方具有对称性质的正整数(也称回文数)。输出格式如下:numbersquare112439111212248426676#includevoidmain()inti;longtext(inti);/判断i的i2是不是回文数的函数for(i=4;i=100;i+)if(text(i)!=0)coutni 0)sum1=sum1*10+k%10;k=k/10;if(sum1=sum) returni*i;el
12、se return0;9.编写程序,打印如下杨辉三角。111121133114641#includevoidmain()inta55,i,j;for(i=0;i=i;j-)printf(%2c,);/*两个空格*/for(j=0;j=i;j+)if(i=j|j=0)aij=1;elseaij=ai-1j+ai-1j-1;printf(%3d,aij);/*%3d后一个空格*/if(i=j)printf(n);10定义一个函数,计算长度为k的整型数组元素的平均值及大于平均值的元素个数。调用函数的语句为:count(a,k,ave,num);其中a是数组名,k是数组元素个数,ave返回的平均值,num返回大于平均值的元素个数。voidcount(a,k,&ave,&num)intcount=0,sum=0;inti;/求平均数for(i=0;ia;i+)sum+=ai;ave=(float)sum/(float)a;/求大于平均数的个数for(i=0;iave)count+;num=count;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1