C++实验答案全解.docx
- 文档编号:27094715
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:64
- 大小:31.54KB
C++实验答案全解.docx
《C++实验答案全解.docx》由会员分享,可在线阅读,更多相关《C++实验答案全解.docx(64页珍藏版)》请在冰豆网上搜索。
C++实验答案全解
实验一
1.#include
#include
usingnamespacestd;
voidmain()
{
floata,b,c,l,p,s;
cout<<"inputabc"< cin>>a>>b>>c; l=a+b+c; p=(a+b+c)/2; s=sqrt((p-a)*(p-b)*(p-c)); if(a+b>c&&a+c>b&&b+c>a) { cout<<"周长"< } elsecout<<"不是三角形"< } 2.#include #include usingnamespacestd; #definePI3.14 voidmain() { floatr1,r2,h,s,a,b,c,v1,v2; cout<<"输入圆柱体的半径和高"<<"\n"<<"输入球半径"<<"\n"<<"输入长方体的长宽高"< cin>>r1>>h>>r2>>a>>b>>c; cout<<"圆柱体的体积"< } 3.#include #include usingnamespacestd; voidmain() { doubleF,C; cout<<"请输入华氏温度"< cin>>F; cout< : fixed); cout< (2)<<"其摄氏温度为"<<(5.00/9.00)*(F-32.00)< } 4.#include usingnamespacestd; intmain() { charch;intch1; cout<<"输入字符"< cin>>ch; ch1=int(ch); cout<<"ASCII码值="< return0; } 实验二 1.#include usingnamespacestd; voidmain() { inti,n; cout<<"请输入一个数"< cin>>n; for(i=2;i if(n%i==0) break; if(i==n) cout<<"是素数"< else cout<<"不是素数"< } 2.#include usingnamespacestd; voidmain() { floatx,y; cout<<"输入x的值"< cin>>x; if(x<10) { if(x<1) y=x; else y=2*x-1; } else y=3*x-11;cout<<"x="< } 3.#include usingnamespacestd; voidmain() { intscore;chargrade; cout<<"请输入分数==>"< cin>>score; if(score>89) grade='A'; elseif(score>79) grade='B'; elseif(score>69) grade='C'; elseif(score>59) grade='D'; else grade='E'; cout<<"成绩等级为"< } 4.#include usingnamespacestd; intmain() { inta,b,c,temp; cout<<"请输入三个数==>"< cin>>a>>b>>c; if(a { temp=a; a=b; b=temp; } if(a cout< else { if(b cout< else cout< } return0; } 实验三 1.法1#include usingnamespacestd; voidmain() { doublei=1,n,sum=1; cout<<"请输入n"< cin>>n; do { sum*=i; i++; }while(i<=n); cout<<"n的阶乘为"< } 法2#include usingnamespacestd; voidmain() { doublei=1,n,sum=1; cout<<"请输入n"< cin>>n; while(i<=n) { sum*=i; i++; } cout<<"n的阶乘为"< } 法3#include usingnamespacestd; voidmain() { doublei,n,sum=1; cout<<"请输入n"< cin>>n; for(i=1;i<=n;i++) sum*=i; cout<<"n的阶乘为"< } 2.#include usingnamespacestd; voidmain() { intsum=0,n=2; cout<<"100以内偶数和"< while(n<=100) { sum+=n; n+=2; } cout<<"sum="< } 3.#include usingnamespacestd; voidmain() { chara[100]; inti=0,space=0,letter=0,num=0,other=0,len=0; cout<<"请输入字符: "< cin.get(a,100); cout<<"你输入的字符是: "< cout< while(a[len]! ='\0') { len++; } for(i=0;i<=len;i++) { if(a[i]=='') { space++; } elseif((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z')) { letter++; } elseif(a[i]>='0'&&a[i]<='9') { num++; } elseif((a[i]>=1&&a[i]<=47)||(a[i]>=58&&a[i]<=64)||(a[i]>=91&&a[i]<=96)||(a[i]>=123)) { other++; } } cout<<"你输入的字符中: 空格有"< } 4.#include #include usingnamespacestd; voidmain() { inti,n,count=0; cout<<"100以内所有素数为"< for(n=2;n<100;++n) { for(i=2;i if(n%i==0) break; if(i==n) { cout< count++; if(count%5==0) cout< } } } 实验四 1.#include usingnamespacestd; voidmain() { intsum=0,fact,n,i; cout<<"1! +2! +...+20! ="< for(n=1;n<=20;n++) { fact=1; for(i=1;i<=n;i++) fact*=i; sum+=fact; } cout< } 2.#include #include usingnamespacestd; voidmain() { intf1=1,f2=1; inti; for(i=1;i<=20;i++) { cout< : left) < if(i%2==0) cout< f1=f1+f2; f2=f2+f1; } } 3.法1#include #include usingnamespacestd; voidmain() { inti=1; doublesum=1; doublepi=0,t; do { if(i%2==0) sum=sum+1/(float)(2*i+1); else sum=sum-1/(float)(2*i+1); i++; pi=4*sum; t=pi-3.14159165; }while(fabs(t)>=1e-5); cout< } 法2/*************************************** *功能: pi/4=1-1/3+1/5-1/7+...公式求pi的近似值,直到某一项小于1e-6. ***************************************/ #include usingnamespacestd; intmain() { doublesum=0,temp=1; intsign=1,n=1; while(temp>=(1e-6)) { sum+=sign*temp;//sum保存pi/4的近似值 temp=temp*n/(n+2);//temp保存每一项的绝对值 n+=2; sign*=-1; } cout<<"n="< cout<<"pi/4="< cout<<"pi="<<(double)4*sum< return0; } 4.#include usingnamespacestd; voidmain() { intx,m; for(x=2;x<100;x+=2) { for(m=1;m<100;m++) { if(x*0.5+m*3+(100-x-m)*2==100&&100-x-m>0) { cout<<"小鸡"<<"\t"< } } } } 实验五 1.法1#include #include usingnamespacestd; intmain() { inta[10]; inti,j,t; cout<<"pleaseinput10numbers: "< for(i=0;i<10;i++) cin>>a[i]; cout<<"thenumbersare: "; for(i=0;i<10;i++) cout< cout< for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]>a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t; } cout<<"thesortednumbersare: "; for(i=0;i<10;i++) cout< cout< return0; } 法2#include usingnamespacestd; voidmain() { inta[10]; inti,j,k,t; for(i=0;i<10;i++) cin>>a[i]; for(i=0;i<10-1;++i) { k=i; for(j=i+1;j<10;++j) { if(a[j] { k=j; } } if(k! =i) { t=a[i]; a[i]=a[k]; a[k]=t; } } for(i=0;i<10;i++) cout< cout< } 2./* 1 11 121 1331 14641 15101051 */ #include usingnamespacestd; intmain() { intN; inti,j; intarr[100]={0}; inttmparr[100]={0}; intcases=0; while(cin>>N) { cout<<"Case"<<++cases<<": "< if(N==1) cout<<"1"< elseif(N==2) { cout<<"1"< cout<<"11"< } else { cout<<"1"< cout<<"11"< arr[1]=arr[2]=1; for(i=3;i<=N;i++) { for(j=1;j<=i;j++) { if(j==1||j==i)tmparr[j]=1; else tmparr[j]=arr[j-1]+arr[j]; } for(j=1;j<=i;j++) { arr[j]=tmparr[j]; cout< } cout< }//for }//else }//while return0; } 3.#include #include usingnamespacestd; voidmain() { inta[4][4],i,j; for(i=0;i<4;i++) for(j=0;j<4;j++) { cout<<"a["< cin>>a[i][j]; } for(i=0;i<4;i++)//显示数组a { for(j=0;j<4;j++) cout< cout< } inth=0,l=0,max=a[0][0];//找出该数组的最大元素及其下标 for(i=0;i<4;i++) for(j=0;j<4;j++) if(max cout<<"max: "<<"a["< ints1=0,s2=0; for(i=0,j=0;i<4,j<4;i++,j++) s1=s1+a[i][j]; for(i=0,j=3;i<4,j>=0;i++,j--) s2=s2+a[i][j]; cout<<"主对角线和="< } 4.#include usingnamespacestd; voidmain() { chars1[20],s2[20]; inti,j; i=0; cout<<"pleaseinputfirststring: \n"; gets(s1); cout<<"pleaseinputsecondstring: \n"; gets(s2); char*p=s1,*q=s2; while(*p)p++; while(*q)*p++=*q++; *p=0; cout< } 实验六 1.#include usingnamespacestd; intmax(intx,inty,intz) { intw; if(x>y) w=x; else w=y; if(w w=z; returnw; } intmain() { inta,b,c,d; cout<<"输入三个数"< cin>>a>>b>>c; d=max(a,b,c); cout<<"a="< cout<<"MAX="< return0; } 2.#include usingnamespacestd; intgcd(intm,intn)/*最大公约数*/ { intt; if(m { t=n,n=m,m=t; } if(n==0)returnm; elsereturngcd(n,m%n); } voidmain() { inta,b,gys,gbs; cout<<"输入两个数"< cin>>a>>b; gys=gcd(a,b); gbs=a*b/gys; cout<<"最大公约数"< } 3.法1#include usingnamespacestd; intmain() { inti; intf[40]={1,1}; for(i=2;i<40;i++) f[i]=f[i-2]+f[i-1];//将前40个数存入数组 cout<<"第25项==>"<<"\t"< } 法2#include usingnamespacestd; constN=25; longfibo(intn); intmain() { longf=fibo(N); cout<<"第"<<"\t"< return0; } longfibo(intn) { if(n==1) return1L; elseif(n==2) return1L; else returnfibo(n-1)+fibo(n-2); } 4.#include usingnamespacestd; voidsort(int); voidechoa(); inta[10]; intmain() { inti; cout<<"input10numbers"< for(i=0;i<10;i++) cin>>a[i]; echoa(); sort(10); echoa(); floataver=0.0; for(i=0;i<10;i++) { aver+=a[i]; } aver/=10; cout<<"平均分为"< return0; } voidechoa() { for(inti=0;i<10;i++) cout< cout< } voidsort(intn) { inti,j,min,t; for(i=0;i { min=i; for(j=i+1;j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实验 答案