收藏 分销(赏)

钱能c++习题答案.pdf

上传人:曲**** 文档编号:228734 上传时间:2023-03-16 格式:PDF 页数:90 大小:1.70MB 下载积分:19 金币
下载 相关 举报
钱能c++习题答案.pdf_第1页
第1页 / 共90页
钱能c++习题答案.pdf_第2页
第2页 / 共90页


点击查看更多>>
资源描述
(二)2.1#include void main()本题原考虑在16位机器上实验目前多为32位机器,故已过时。int a=42486;cout oct a endlhex a endl;unsigned b=42486;cout dec(signed)b endl;)2.2#include#include const double pi=3.1415926;void main()(double radius 1,radius2;cout please input two numbers:n;cin radiusl radius2;cout setw(10)pi setw(10)radiuslsetw(10)(pi*radiusl*radiusl)endlsetw(10)pi setw(10)radius2setw(10)(pi*radius2*radius2)endl;2.3#include#include const double e=2.718281828;void main()(cout setprecision(10)e endlsetiosflags(ios:fixed)setprecision(8)e endl setiosflags(ios:scientific)e endl;2.4#include void main()cout nHow many students here?nn n500nn;)2.5#include void main()(cout size of char*size of unsigned char*size of signed char*size of int*size of unsigned*size of signed*size of short*size of unsigned short*size of long*size of signed long*size of unsigned long*size of float*size of double*size of long double)sizeof(char)*bytensizeof(unsigned char)bytensizeof(signed char)bytensizeof(int)byten,sizeof(unsigned)*byten“sizeof(signed)byten,sizeof(short)bytensizeof(unsigned short)bytennsizeof(long)*bytensizeof(signed long)byten,“sizeof(unsigned long)bytennsizeof(float)byten“sizeof(double)*bytensizeof(Iong double)byten;2.61)please input 3 sides of one triangle:6,6,8a=6.00,b=6.00,c=8.00area of triangle is 17.888542)该程序计算三角形的面积前后分为三部分:输入,处理,输出。3)/#include#include#include#include void main()float a,b,c,s,area;/printf(please input 3 sides of one triangle:n*);cout please input 3 sides of one triangle:n;scanf(”%f,%f,%f”,&a,&b,&c);输入时以逗号作为数据间隔cin a b c;输入时以空格作为数据间隔s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);/printf(a=%7.2f,b=%7.2f,c=%7.2fnn,a,b,c);cout setiosflags(ios:fixed)setprecision(2)a=setw(7)an,b=setw(7)b*,c=setw(7)c endl;/printf(area of triangle is%10.5fn,area);cout area of triangle is setw(10)setprecision(5)area endl;)4)#include#include#include float area(float a,float b,float c);/函数声明void main()(float a,b,c;cout please input 3 sides of one triangle:n;cin a b c;输入时以空格作为数据间隔float result=area(a,b,c);函数调用cout setiosflags(ios:fixed)setprecision(2)a=setw(7)an,b=setw(7)b*,c=setw(7)c endl;cout area of triangle is setw(10)setprecision(5)result endl;)float area(float a,float b,float c)函数定义(float s=(a+b+c)/2;return sqrt(s*(s-a)*(s-b)*(s-c);2.7In main():Enter two numbers:38Calling add():In add(),received 3 and 8and return 11Back in main():c was set to 11Exiting.2.8#include#include double Cylinder(double r,double h);void main()(double radius,height;cout“请输入圆柱体的半径和高:nn;cin radius height;double volume=Cylinder(radius,height);cout该圆柱体的体积为:vohime endl;)double Cylinder(double r,double h)(return r*r*M_PI*h;)(三)3.1(1)sqrt(pow(sin(x),2.5)(2)(a*x+(a+x)/(4*a)/2(3)pow(c,x*x)/sqrt(2*M_PI)/M_PI 为 BC 中 math.h 中的圆周率常数3.2 13.7 2.5 93.3(1)al=l a2=l(2)1.1(3)2,0.0(4)203.4#include void main()(int x;cout please input x:n;cin x;if(x-l&x=2)cout 2*x endl;if(2x&x=10)cout x*(x+2);)3.5#include void main()(int a;cout*please input a number:n;cin a;int cl=a%3=0;int c2=a%5=0;int c3=a%7=0;switch(cl2)+(c2l)+c3)case 0:cout*不能被 3,5,7 整除 An;break;case 1:cout只能被 7 整除An;break;case 2:cout只能被 5 整除 An;break;case3:cout 可以被 5,7 整除An;break;case 4:cout只能被 3 整除.n”;break;case 5:cout*可以被 3,7 整除.n”;break;case 6:cout“可以被 3,5 整除 An”;break;case 7:cout n 可以被 3,5,7 整除 An”;break;3.6#include void main()(int grade;cout please input a number:n,;cin grade;if(grade100llgrade=90)cout A.nn;else if(grade=80)coutelse if(grade=70)cout C.n;else if(grade=60)cout D.n;elsecout E.n;)(四)4.1(1)#include#include void main()(double sum=l,t=-l,x;int i=l;cout please input a value:n;cin x;dot*=(-l)*x/i;sum+=t;i+;whiIe(fabs(t)le-8);cout sum=sumendl;)(2)#include#include void main()(double sum=l,t=-l,x;cout please input a value:n;cin x;int i=l;while(fabs(t)le-8)t*=(-l)*x/i;sum+=t;i+;)cout sum=sumendl;)(3)#include#include void main()(double sum=l,t=-l,x;cout please input a value:n;cin x;for(int i=l;fabs(t)le-8;i+)t*=(-l)*x/i;sum+=t;)cout sum=sumendl;)4.2#include void main()(long sum=0,t=l;for(int i=l;i=15;i+)t*=i;sum+=t;)cout sum=sum endl;)4.3#include void main()(for(int i=l;i=9;i+)for(int j=0;j=9;j+)for(int k=0;k=9;k+)if(i*i*i+j*j*j+k*k*k=100*i+10*j+k)cout(100*i+10*j+k)是水仙花数 An”;)4.4#include void main()(for(int i=l;i1000;i+)int sum=0;for(int j=l;j=i/2;j+)if(i%j=O)sum+=j;if(sum=i)cout i是完数 An;)4.5#include void main()(float s=100,h=100;for(int i=l;i10;i+)s+=h;h/=2;)cout 共经过s 米,第10次反弹h 米高An”;)4.6#include void main()int peachs=l;for(int i=l;i10;i+)peachs=(peachs+l)*2;cout*第一天共摘下peachs,个桃子An;)4.7#include#include void main()(double x,a;cout please input a value:n;cin a;x=a/2;while(fabs(x-a/x)/2)le-7)x=(x+a/x)/2;cout a,的平方根是“x endl;)4.8(1)#include void main()(for(int i=l;i=10;i+)for(int j=l;j=10-i;j+)cout n;for(int j=l;j=2*i-l;j+)coutcout endl;)(2)#include void main()(for(int i=l;i=8;i+)for(int j=l;j=i;j+)coutfor(int j=l;j=18-i;j+)coutcout endl;)4.9(1)#include#include void main()(cout*;for(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;for(int j=l;j=9;j+)cout setw(4)i*j;cout endl;)(2)#include#include void main()(coutfor(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;for(int j=l;j=i;j+)cout setw(4)i*j;cout endl;)(3)#include#include void main()coutfor(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;if(i!=l)cout setw(4*i-4)for(int j=i;j=9;j+)cout setw(4)i*j;cout endl;)4.10#include void main()(int n;long a=l,b=l,c=l,temp;cout please input a value:n;cin n;for(int i=4;i=n;i+)temp=a+c;a=b;b=c;c=temp;)cout c endl;)(五)5.1#include#include#include bool isprime(long n);void main()(/inputlong a,b,l=0;cout please input two numbers:n;cin a b;coutprimes from a*to b is n;/processif(a%2=0)a+;for(long m=a;m=b;m+=2)if(isprime(m)/outputif(l+%10=0)cout endl;cout setw(5)m;)bool isprime(long n)(int sqrtm=sqrt(n);for(int i=2;i=sqrtm;i+)判明素数if(n%i=0)return false;return true;)5.2#include#include#include double f(double x);double integral(double a,double b);const double eps=le-8;void main()(double a=0,b=l;cout the integral of f(x)froma n to*b*is n,setiosflags(ios:fixed)setprecision(8)setw(8)integral(a,b)endl;)double f(double x)(return exp(x)/(l+x*x);)double integral(double a,double b)(int n=l;double h,tn,t2n,i2n,in=0;h=b-a;t2n=i2n=h*(f(a)+f(b)/2;while(fabs(i2n-in)=eps)tn=t2n;in=i2n;double sigma=0.0;for(int k=0;kn;k+)double x=a+(k+0.5)*h;sigma+=f(x);)t2n=(tn+h*sigma)/2.0;变步长梯形i2n=(4*t2n-tn)/3.0;辛普生公式 n*=2;h/=2;)return i2n;)5.3#include#include void multabl();void multab2();void multab3();void main()(multablO;multab2();multab3();)void multabl()(coutfor(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;for(int j=l;j=9;j+)cout setw(4)i*j;cout endl;)cout endl endl;)void multab2()(cout*;for(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;for(int j=l;j=i;j+)cout setw(4)i*j;cout endl;)cout endl endl;)void multab3()(cout*;for(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;if(i!=l)cout setw(4*i-4)for(int j=i;j=9;j+)cout setw(4)i*j;cout endl;)cout endl endl;)5.4Mainx=5,y=l,n=1Func-x=6,y=21,n=llMain-x=5,y=l,n=llFunc-x=8,y=31,n=215.5#include void main()(int n;long a=l,b=l,temp;cout please input a number:n,;cin n;for(int i=3;i=n;i+)temp=a+b;a=b;b=temp;cout b endl;)5.6double poly(int n,double)(if(n=0)return 1;if(n=0)return x;return(2*n-l)*x*poly(n-l,x)-(n-l)*poly(n-2,x)/n;)5.7#include#include void main()(double x,y;x=3.14159/4;doy=x;/x-=(cos(x)-x)/(sin(x)-l);x=cos(x);while(fabs(x-y)le-6);cout x endl;)答案为:0.7390855.8#include void display(double d)cout*A double:d endl;void display(int i)cout A int:i endl;void display(char c)cout A char:c endl;void main()(double a=100.0;float f=1.0;int n=120;char ch=*c*;short s=50;display(a);display(f);display(n);display(ch);display(s);)5.9#include long cattle(int n);void main()(int n;cout please input a number:n;cin n;cout cattle(n)endl;)long cattle(int n)(if(n=0)return 0;if(n=3)return 1;return cattle(n-1)+cattle(n-3);)(六)6.1(1)/filel.cpp int x=l;int func()(/.)/filel.cpp extern int x;int func();void g()(x=func();)void main()(/file3.cppextern int x=2;int g();/error:extern int变量若有赋值,则成定义/error:函数声明与前面不一致x=g();II.(2)/filel.cpp int x=5;int y=8;extern int z;/filel.cppint x;extern double y;extern int z;/error:int x;重复定义/error:y同一名字不同类型定义“error:z只有声明,却无定义6.2 256.3#include multab.h void main()multablO;multab2();multab3();)6_3_1#include multab.hvoid multabl()(coutfor(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;for(int j=l;j=9;j+)cout setw(4)i*j;cout endl;)cout endl endl;)6_3_2#include multab.hvoid multab2()(coutfor(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;for(int j=l;j=i;j+)cout setw(4)i*j;cout endl;)cout endl endl;)/6_3_3#include multab.h*void multab3()(coutfor(int i=l;i=9;i+)cout setw(4)i;cout n.n;for(int i=l;i=9;i+)cout setw(3)i;if(i!=l)cout setw(4*i-4)for(int j=i;j=9;j+)cout setw(4)i*j;cout endl;)cout endl endl;)/6_3.h#include#include void multabl();void multab2();void multab3();(七)7.1#include int findMinIndex(int a,int n);void main()(int array口=34,91,83,56,29,93,56,12,88,72;int size=sizeof(array)/sizeof(*array);int minlndex=findMinIndex(array,size);cout M 最小数:arrayminlndex endl”相应的下标:minlndex endl;)int findMinIndex(int a,int n)(int index=0;for(int i=l;iai)index=i;return index;7.2#include int insert(int a,int n,int value);void main()(int array=12,29,34,56,72,83,88,91);int size=sizeof(array)/sizeof(*array);cout”插入前的数组:n,;for(int i=0;isize;i+)cout arrayi*int aValue;cout nplease input a number:n;cin aValue;int max=insert(array,size,aValue);cout n 最大数:max endl;cout”插入后的数组:n,;for(int i=0;isize;i+)cout arrayi*)int insert(int a,int n,int value)(if(an-l=O&aivalue;i-)ai+l=ai;ai+l=value;return retValue;)7.3#include const int num=17;void main()(int interval=3;int anum;for(int i=0;inum;i+)cout(ai=i+l)cout endl;int i=(interval-l)%num;for(int k=l;knum;k+)cout aiai=0;for(int j=l;!(a i&(j+=interval);i=(i+1)%num);数数)cout nNo.n ai*boy has won.n*;输出胜利者)7.4void Swap(int&a,int&b)int temp=a;a=b;b=temp;void Bsort(int a,int n)(bool dontLoopAgain=false;while(dontLoopAgain=!dontLoopAgain)for(int i=0,pass=-n;iai+l)dontLoopAgain=fa!se;Swap(ai,ai+1);)7.5#include const int n=5;int sum(int a5,int size);void main()(int arraynn=3,2,4,l,5,8,7,2,5,6,(6,9,1,43,5,536,2,2,8,1,8,6);cout sum(array,n);)int sum(int a5,int size)(int s=0;for(int i=0;isize;i+)s+=aii+aisize-i-l;if(size%2=l)s-=asize/2size;return s;)7.6#include void HndMax(int a4,int row,int col);void findBad(int a4,int row,int col);void average(int a4,int row,int col);void main()(int array54=88,67,48,91,61,65,37,77,(92,81,73,60,51,55,60,60,77,63,70,80;findMax(array,5,4);findBad(array,5,4);average(array,5,4);)void findMax(int a4,int row,int col)(int r=0,c=0;for(int i=0;irow;i+)for(int j=0;jarc)r=i,c=j;cout”成绩最高的学生序号:(r+l)*for(int i=0;icol;i+)cout aricout endl;)void flndBad(int a4,int row,int col)(for(int i=0;irow;i+)for(int j=0;jcol;j+)if(aiU60)cout”有不及格课程的学生序号:for(int k=0;kcol;k+)cout aik cout endl;break;)void average(int a4,int row,int col)(double sum=0;for(int i=0;irow;i+)for(int j=0;jcol;j+)sum+=aij;cout 所有课程平均分数为:sum/row/col endl;)7.7#include inta33=5,7,8,2,-2,4,l,l,l;intb33=4,-2,3,3,9,4,8,-l,2);int c33;void main()(for(int i=0;i3;i+)for(intj=0;j3;j+)ciLj=aiLj+biLj;cout cij)cout endl;)(八)8.1#include int*findmax(int*array,int size,int*index);void main()(int a10=33,91,54,67,82,37,85,63,19,68);int*maxaddr;int idx;maxaddr=flndmax(a,sizeof(a)/sizeof(*a),&idx);cout the index of maximum element is idx endl*the address of it is*maxaddr endlthe value of it is*aidx endl;)int*findmax(int*array,int size,int*index)(*index=O;for(int i=0;iarray*index)*index=i;return&array*index;8.2#include bool assign();int num,interval;void main()(if(!assign()return;int*a=new intnum;for(int i=0;inum;i+)cout(ai=i+l)cout endl;int i=(interval-l)%num;for(int k=l;kl&intervall&intervalnum)return true;bool sign=true;while(sign)cout error on your input data.n;coutplease select following operation:n;cout ttstop at once!.ln;cout ttinput again.2n,;cout ttas default values-3nn,;int sele=0;cin sele;switch(sele)case 1:return false;case 2:sign=false;break;case 3:num=10;interval=3;return true;/end of switch/end of inner while/end of out while)8.3#include#include int CompIntBitSum(const void*a,const void*b);int CompFloat(const void*a,const void*b);int CompStrLen(const void*a,const void*b);void main()(int a=12,32,42,51,8,16,21,19,9);int anum=sizeof(a)/sizeof(*a);cout n 排序前:n”;for(int i=0;ianum;i+)cout ai M;cout endl;qsort(a,anum,sizeof(*a),CompIntBitSum);cout M 排序后:n;for(int i=0;ianum;i+)cout ai n;cout endl;float f=32.1,456.87,332.67,442.0,98.12,451.79,340.12,54.55,99.87,72.5;int fnum=sizeof(f)/sizeof(*f);cout n 排序前:n”;for(int i=0;ifnum;i+)cout fi n;cout endl;qsort(f,fnum,sizeof(*f),CompFIoat);cout排序后:n;for(int i=0;ifnum;i+)cout fi*cout endl;char*str=enter,number*,begin,of,ncatn,case,program Jcertain,a;int strnum=sizeof(str)/sizeof(*str);cout n 排序前:n”;for(int i=0;istrnum;i+)cout stri*cout endl;qsort(str,strnum,sizeof(*str),CompStrLen);cout排序后:n;for(int i=0;i32+4,(8)56+9得到密文为:/xqk zlvyuzqn 6$jtf(9#m;&pw#include char*jiami(const char*str);char*jiemi(const char*str);const char key=4,9,6,2,8,7,3;const keylen=sizeof(key);void main()(char*s=the result of 3 and 2 is not 8*;cout n 原文为:n s endl;char*resultl=jiami(s);cout n 密文为:n resultl endl;char*result2=jiemi(resultl);cout n 解密之后为:n*result2 endl;delete resultl;delete result!;)char*jiami(const char*str)(int len=strlen(str);char*result=new charlen+l;for(int i=0J=0;i122)resulti-=90;)return result;)char*jiemi(const char*str)(int len=strlen(str);char*result=new charlen+l;for(int i=OJ=O;ilen;i+j=(j+l)%keylen)resulti=stri-keyj;if(resulti32)resulti+=90;)return result;)8.5int strcmp(const char*strl,const char*str2)(char*pl=(char*)strl;char*p2=(char*)str2;while(*pl&*pl=*p2)pl+;p2+;)return*pl-*p2;)8.6char*strcpy(char*dest,const char*src)(char*pdest=dest;char*psrc=(char*)src;while(*pdest+=*psrc+);return dest;)8.7#include int strcmp(const char*strl,const char*str2);void main(int argc,char*argv)(if(argc!=3)cout usage:c:8_7 string 1 string2nn;return;)int result=strcmp(argvl,argv2);char c=*=;if(result0)c=*;if(result0)c=;cout argvl c argv2 endl;)int strcmp(const char*strl,const char*str2)(char*pl=(char*)strl;char*p2=(char*)str2;while(*pl&*pl=*p2)P1+;P2+;)return*pl-*p2;)8.8#include#include#include void transpose(int*a,int size);降维处理void main()(int A55;randomize();for(int i=0;i5;i+)for(int j=0;j5;j+)cout setw(7)(Aij=rand();cout endl;)transpose(int*)A,5);cout n 转置之后:n;for(int i=0;i5;i+)for(int j=0;j5;j+)cout setw(7)Aij;cout endl;)void transpose(int*a,int size)(for(int i=l;isize;i+)for(int j=0;ji;j+)int temp=ai*size+j;ai*size+j=aj*size+i;aj*size+i=temp;)8.9#include#include void main()(void*p=malloc(lOOOOOO);int i=l;while(p)p=malloc(lOOOOOO);i+;)cout M 堆容量为(M):i endl;)(9)9_1(1)#include const size=10;void findmax(int*a,int n,int i,int&pk);void main()(int asize;int n=0;cout please input*size datas:n;for(int i=0;isize;i+)cin ai;findmax(a,size,0,n);cout the maximum is an endl nIts index is n endl;)void findmax(int*a,int n,int i,int&pk)(if(iapk)pk=i;flndmax(a,n,i+l,&pk);)(2)求数组中最大元素的下标,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服