版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 C+第二单元课后编程题 /第一题#include <iostream.h>void main() float a,b,c; cout<<"请输入三角形的三条边长:"<<endl; cout<<"ta=" cin>>a; cout<<"tb=" cin>>b; cout<<"tc=" cin>>c; if(a<=0|b<=0|c<=0|(a+b<=c)|(a+c)<=b|(b+c
2、<=a) cout<<"此三条边不能组成三角形!"<<endl; else if(a*a+b*b=c*c|a*a+c*c=b*b|b*b+c*c=a*a) cout<<"此三角形是直角三角三角形!"<<endl; if(a>b&&a>c) cout<<"此直角三角形的面积是:S=" <<b*c/2<<endl; else if(b>a&&b>c) cout<<"此直角三
3、角形的面积是:S=" <<a*c/2<<endl; else cout<<"此直角三角形的面积是:S=" <<a*b/2<<endl; else cout<<"此三角形不是直角三角形!"<<endl ; /第二题#include <iostream.h>void main() int length8,a8,b8 ; int max=0,min=0,m=0,n=0; cout<<"data typetmemory used(byt
4、es)(各种数据类型的存储长度是 :)" length0=sizeof(short int); /获取短整型长度 cout<<"nshort intt"<<length0; length1=sizeof(int); /获取整型长度 cout<<"nint t"<<length1; length2=sizeof(long int); /获取长整型长度 cout<<"nlong int t"<<length2; length3=sizeof(char); /
5、获取字符型长度 cout<<"nchar t" <<length3; length4=sizeof(float); /获取单浮点型长度 (单精度) cout<<"nfloat t"<<length4; length5=sizeof(double); /获取双浮点型长度 (双精度) cout<<"ndouble t"<<length5; length6=sizeof(long double); / 获取长双浮点型长度 (长双精度) cout<<"
6、;nlong doublet"<<length6; length7=sizeof(bool); /获取布尔型长度 cout<<"nbool t"<<length7<<endl; for(int i=0;i<8;i+) if (lengthi>lengthmax)/求取长度最大的类型的存取位置max=i;if (lengthi<lengthmin)/求取长度最小的类型的存取位置min=i; for(int j=0;j<8;j+) if(lengthmax=lengthj) am=j; m+; i
7、f(lengthmin=lengthj) bn=j; n+; m-; n-; cout<<"The longest length is from(存储长度最大的数据类型是:) "<<endl; while(m>=0) max= am; switch (max) case 0:cout<<"short int"<<endl;break;case 1:cout<<"int"<<endl;break;case 2:cout<<"long in
8、t"<<endl;break;case 3:cout<<"char"<<endl;break;case 4:cout<<"float"<<endl;break;case 5:cout<<"double"<<endl;break;case 6:cout<<"long double"<<endl;break;case 7:cout<<"bool"<<endl;
9、 break; m-; cout<<"The shortest length is from(存储长度最小的数据类型是 :) "<<endl; while(n>=0) min= bn; switch (min) case 0:cout<<"short int."<<endl;break;case 1:cout<<"int."<<endl;break;case 2:cout<<"long int"<<endl;bre
10、ak;case 3:cout<<"char"<<endl;break;case 4:cout<<"float"<<endl;break;case 5:cout<<"double"<<endl;break;case 6:cout<<"long double"<<endl;break;case 7:cout<<"bool"<<endl; break; n-; /第三题#includ
11、e<iostream> using namespace std; void main() double F,C; cout<<"请输入一个华氏温度:" <<"ntF=()" cin>>F; C=(F-32)*5/9; cout<<"转换成的摄氏温度为:"<<"ntC="<<C<<""<<endl; /第四题#include<iostream> using namespace s
12、td; void main() int x,i=0; int a100;/数组长度100可以再增大 cout<<"请输入一个十进制正整数:" <<endl; cin>>x; while(x>0)/x只能大于0,不能大于等于0(进入死循环) ai=x%2; i+ ; x=x/2; i-;/把最后一次加的1减出去,实际没存入数 cout<<"转化成的二进制数为:"<<endl; while(i>=0) cout<<ai; i-; cout<<endl; C+第三单
13、元课后编程题/第一题#include<iostream.h>void main() int i,k=0,sum=0; int a50; for(i=1;i<=100;i+) if(i%3=0) ak=i; k+; k-; while(k>=0) sum+=ak; k-; cout<<"1到100所有3的倍数的数的和是:sum="<<sum<<endl; /第二题#include<iostream.h> void main() int i,k,N,sum1=0,sum2=0; cout<<&q
14、uot;输入的整数总个数为:"<<endl; cin>>N; cout<<"请输入要输入的整数:"<<endl; for( i=0;i<N;i+) cin>>k; if(k%2=0) sum1+=k; else sum2+=k; cout<<"输入的所有整数中的所有偶数之和是:tsum1="<<sum1<<endl; cout<<"输入的所有整数中的所有奇数之和是:tsum2="<<sum2<&
15、lt;endl; /第三题 #include<iostream.h> void main() int a,b,t; int r,x; cout<<"请输入两个正整数:" cin>>a>>b; x = a * b; if (a < b) /替换,保证a为较大的数 t = a; a = b; b = t; while (b != 0) r = a % b; a = b; b = r; cout<<"最大公约数为:"<<a<<endl;cout<<"
16、最小公倍数为:"<<x/a<<endl; /最小公倍数即为两个数的乘积除以最大公约数/第四题#include<iostream.h>#include<math.h>void main() int a10,b10; int i,m=0,n=0,c,d,e;/f=0,g; cout<<"请输入10个正整数:"<<endl; for(i=0;i<10;i+) cin>>ai; m+=ai; c=m/10; for(i=0;i<10;i+) bi=(ai-c)*(ai-c);
17、n+=bi; / f+=abs(ai*ai-c*c); d=n/10; / g=f/10; e=(int)sqrt(d); cout<<"这10个正整数的平均值为:t"<<c<<endl; cout<<"这10个数的方差为: t"<<d<<endl; cout<<"这10个数的标准方差为: t"<<e<<endl; / cout<<f<<" "<<g<<endl
18、; /第五题#include<iostream.h>void main() char a4; int i; cout<<"请输入4个字母:"<<endl; for(i=0;i<4;i+) cin>>ai; cout<<"反向输出这4个字母为:"<<endl; i-; /用while时的语句 while(i>=0) / 用while时的语句 /for(i=3;i>=0; i-) cout<<ai<<" " i-; / 用wh
19、ile时的语句 (包括大括号,for不需要) cout<<"n" /第六题#include<iostream.h>void main() int a10=0,1,2,3,4,5,6,7,8,9; int i,j,k; cout<<"所有的水仙花数为:"<<endl; for(i=1;i<10;i+) for(j=0;j<10;j+) for(k=0;k<10;k+) if( ai*100+aj*10+ak=(ai*ai*ai)+ (aj*aj*aj)+(ak*ak*ak) cout<
20、<ai<<aj<<ak<<endl; /第七题#include<iostream.h>void main() long double i,sum1=1,sum2=0; for(i=1;i<=50;i+) sum1 *=i; / cout<<sum1<<endl; sum2 +=sum1; cout<<"1!+2!+.+50!="<<sum2<<endl;/第八题#include<iostream.h>#include<math.h>
21、void main() float a,b,c,d; float x,x1,x2; cout<<"请输入一元二次方程的二次项系数,一次项系数,常数项:"<<endl; cout<<"ta=" cin>>a; cout<<"tb=" cin>>b; cout<<"tc=" cin>>c; d=b*b-4*a*c; if(a=0) cout<<"方程不是二次方程!"<<endl;
22、x=(float)-c)/b; cout<<"方程的解为:tx="<<x<<endl; else if(d=0) cout<<"方程有两个相等的实根!"<<endl; x1=x2=(float)-b)/(2*a ); cout<<"方程两个相等的实根是:tx1=x2="<<x1<<endl; else if(d>0) cout<<"方程有两个不等的实根!"<<endl; x1=(-b+sqr
23、t(d)/(2*a); x2=(-b-sqrt(d)/(2*a); cout<<"方程两个不等的实根分别是:tx1="<<x1<<"tx2="<<x2<<endl; else cout<<"方程无实根,但有两个不相等的虚根!"<<endl; cout<<"方程两个不等的虚根分别是:" <<endl; cout<<"tx1="<<(float)-b)/(2*a)<
24、;<"+"<<sqrt(-d)/(2*a)<<"i"<<endl; cout<<"tx2="<<(float)-b)/(2*a)<<"-"<<sqrt(-d)/(2*a)<<"i"<<endl; /第九题 #include<iostream.h> void main() int i,j,k; for(i=3;i>=0;i-) j=i; while(j>0) c
25、out<<" " j-; cout<<"" k=5-2*i; while(k>0) cout<<"#" k-; switch (i) case 0: case 1: case 2: cout<<""<<endl; break; case 3: cout<<endl; break; for(i=1;i<=3;i+) j=i; while(j>0) cout<<" " j-; cout<<
26、;"" k=5-2*i; while(k>0) cout<<"#" k-; switch (i) case 0: case 1: case 2: cout<<""<<endl; break; case 3: cout<<endl; break; /第十题#include <iostream.h>void main() int year,month,day; cout<<"请输入年月日信息:"<<endl; cout<&l
27、t;"year=" cin>>year; cout<<"month=" cin>>month; cout<<"day=" cin>>day; while(month<1|month>12|day>31|day<1)|(month=4|month=6|month=9|month=11)&&day=31)|(month=2&&day>(28+(year%4=0&&year%100!=0)|(year%4
28、00=0) cout<<"您输入有误!请重新输入年月日信息:"<<endl; cout<<"year=" cin>>year; cout<<"month=" cin>>month; cout<<"day=" cin>>day; switch(month) case 1: cout<<"这一天是:"<<year<<"年 的第 " <<d
29、ay<<" 天" <<endl; break; case 2: cout<<"这一天是:"<<year<<"年 的第 " <<31+day<<" 天" <<endl; break; case 3: cout<<"这一天是:"<<year<<"年 的第 " <<31+28+(year%4=0&&year%100!=0)|
30、(year%400=0)+day<<" 天" <<endl; break; case 4: cout<<"这一天是:"<<year<<"年 的第 " <<2*31+28+(year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <<endl; break; case 5: cout<<"这一天是:"<<year<<
31、"年 的第 " <<2*31+30+28+(year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <<endl; break; case 6: cout<<"这一天是:"<<year<<"年 的第 " <<3*31+30+28+(year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <&l
32、t;endl; break; case 7: cout<<"这一天是:"<<year<<"年 的第 " <<3*31+2*30+28+(year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <<endl; break; case 8: cout<<"这一天是:"<<year<<"年 的第 " <<4*31+2*30+28+(
33、year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <<endl; break; case 9: cout<<"这一天是:"<<year<<"年 的第 " <<5*31+2*30+28+(year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <<endl; break; case 10: cout<<
34、"这一天是:"<<year<<"年 的第 " <<5*31+3*30+28+(year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <<endl; break; case 11: cout<<"这一天是:"<<year<<"年 的第 " <<6*31+3*30+28+(year%4=0&&year%100!=0)|(ye
35、ar%400=0)+day<<" 天" <<endl; break; case 12: cout<<"这一天是:"<<year<<"年 的第 " <<6*31+4*30+28+(year%4=0&&year%100!=0)|(year%400=0)+day<<" 天" <<endl; break; /第十一题#include<iostream.h>void main() float x,y;
36、cout<<"请输入x的值:"<<endl<<"tx=" cin>>x; if( x<0) y=x; cout<<"ty="<<y<<endl; else if(x>10) y=4*x*x*x-x*x; cout<<"ty="<<y<<endl; else y=x*x; cout<<"ty="<<y<<endl; /第十二题#in
37、clude<iostream.h> void main() int i,chicken,rabbit;/n=0; for(i=0;i<=100;i+) chicken=i/2; while(100-i)%4=0) rabbit=(100-i)/4; / n+; cout<<"鸡兔各有:"<<endl; cout<<"鸡 chicken="<<chicken<<"只"<<"t" cout<<"兔 rabbi
38、t="<<rabbit<<"只"<<endl; break; /cout<<n<<endl; C+第四单元课后编程题/第一题#include<iostream.h>#include<math.h>float LiangDianJvLi(float x0,float y0,float x1,float y1) float x,y,D; x=x0-x1; y=y0-y1; D=sqrt(x*x+y*y); return D; void main() float ax,ay,bx,by;
39、 cout<<"请输入a,b两点的坐标(数字间用空格隔开):"<<endl<<"t" cin>>ax>>ay>>bx>>by; cout<<"请确认一下两点坐标:"<<endl<<"t" cout<<"a("<<ax<<","<<ay<<")"<<"t&qu
40、ot;<<"b("<<bx<<","<<by<<")"<<endl; cout<<"点a("<<ax<<","<<ay<<")"<<"到"<<"点b("<<bx<<","<<by<<")的距离是:"
41、;<<endl; cout<<"tD="<<LiangDianJvLi(ax,ay,bx,by)<<endl; /第二题#include<iostream.h>long JieCheng(long n) if(n=0|n=1)/(n=0) return 1; return JieCheng(n-1)*n;void main() long a,b,c; cout<<"请输入a,b,c的值:"<<endl; cout<<"ta=" ; cin&
42、gt;>a; cout<<"tb=" cin>>b; cout<<"tc=" cin>>c; cout<<"a!+b!+c!的值是:"<<endl; cout<<"ta!+b!+c!="<<(JieCheng(a)+JieCheng(b)+JieCheng(c)<<endl; /第三题#include<iostream.h>#include<math.h>void HuiWenS
43、huZi(int);void main() int n; cout<<"请输入一个整数(整数位数不超过50):"<<endl; cout<<"tn=" cin>>n; HuiWenShuZi(n);void HuiWenShuZi(int a) int b,d,i=1,j; int c51; b=a; d=abs(a);/输入为0是,下面的while不执行,但i仍然是1和输入的是一位数字相同 while(d>0) ci=d%10; d=(d-ci)/10; i+; i-; if(i%2=0) j=i/
44、2;/当输入是一位数字时,i=1,j=0,不执行while,直接到最后一个else while(j>=1) if(cj=ci/2+1) j-; i+=2; else cout<<"t"<<b<<"不是回文数字!"<<endl; break; if(j=0) cout<<"t"<<b<<"是回文数字!"<<endl; else j=i/2; while(j>=1) if(cj=ci/2+2) j-; i+=2;
45、 else cout<<"t"<<b<<"不是回文数字!"<<endl; break; if(j=0) cout<<"t"<<b<<"是回文数字!"<<endl; /第四题#include<iostream.h>float Average(float,float,float);float Average(float,float,float,float);float Average(float,float,fl
46、oat,float,float); void main() int N; float a1,a2,a3,b1,b2,b3,b4,c1,c2,c3,c4,c5; cout<<"请输入您总共选修的课程门数:"<<endl<<"t" cin>>N; while(N!=3&&N!=4&&N!=5) cout<<"您输入有误,请重新输入:"<<endl<<"t" cin>>N; if(N=3) co
47、ut<<"请输入3门选修课的成绩:"<<endl<<"t" cin>>a1>>a2>>a3; cout<<"您3门选修课程的平均分为:"<<Average(a1,a2,a3)<<endl; else if(N=4) cout<<"请输入4门选修课的成绩:"<<endl<<"t" cin>>b1>>b2>>b3>&
48、gt;b4; cout<<"您4门选修课程的平均分为:"<<Average(b1,b2,b3,b4)<<endl; else if(N=5) cout<<"请输入5门选修课的成绩:"<<endl<<"t" cin>>c1>>c2>>c3>>c4>>c5; cout<<"您5门选修课程的平均分为:"<<Average(c1,c2,c3,c4,c5)<<
49、endl; float Average(float x1,float x2,float x3) float X; X=(x1+x2+x3)/3; return X; float Average(float y1,float y2,float y3,float y4) float Y; Y=(y1+y2+y3+y4)/4; return Y; float Average(float z1,float z2,float z3,float z4,float z5) float Z; Z=(z1+z2+z3+z4+z5)/5; return Z; /第五题/该程序采用递归的方法把整数转化为字符串#in
50、clude <iostream>using namespace std;int main(void) int number; /变量 void IntToStr(int n);/函数原型 cout<<"请输入一个整数:" /数据获取 cin>>number; cout<<"转换结果是:"<<endl; cout<<"t"" ; if(number<0) /如果输入的是负数 cout<<"-"/输出负号 number=
51、-number;/转换为正数解决 IntToStr(number);/调用递归函数 cout<<"""<<endl; return 0;/*该函数用递归的方法把整数转换成为字符串*/void IntToStr(int n) if(n/10)!=0)/如果N为1位数字,则输出 IntToStr(n/10);/如果N不是1位整数则递归分析 cout<<(char)(48+n%10);/输出该位数字/第六题#include<iostream.h> int j=0;void ZhuanHuan(int n) int i,m;
52、 m=n%10; / j=(j+m)*10; cout<<m; i=(n-m)/10; if(i>0) ZhuanHuan(i); void main()int a;cout<<"请输入一个整数:"<<endl;cin>>a;ZhuanHuan(a);cout<<endl;/cout<<j/10<<endl;/第七题#include<iostream.h>int Average1(int,int,int);float Average2(float,float,float);
53、 void main() int a1,a2,a3; float b1,b2,b3; int N; cout<<"您要输入的3个数字是否全为整型或浮点型?"<<endl<<"请按情况选择您要输入的3个数的类型的序号:" <<endl; cout<<"t1. 3个数字全为整型!"<<endl<<"t2. 3个数字全为浮点型!"<<endl<<"t3. 3个数字整型、浮点型均有!"<&l
54、t;endl; cin>>N; while(N!=1&&N!=2&&N!=3) cout<<"您选择有误,请重新选择:"<<endl; cin>>N; if(N=1) cout<<"请输入3个数字(数字间用空格键隔开):"<<endl<<"t" cin>>a1>>a2>>a3; cout<<"3个数字的平均值是:t"<<Average1(a1
55、,a2,a3)<<endl; else cout<<"请输入3个数字(数字间用空格键隔开):"<<endl<<"t" cin>>b1>>b2>>b3; cout<<"3个数字的平均值是:t"<<Average2(b1,b2,b3)<<endl; int Average1(int x1,int x2,int x3) int max,min,X; if(x1>x2) max=x1; min=x2; else max
56、=x2; min=x1; if(max>x3) cout<<"3个数字中的最大值是:t"<<max<<endl; if(x3>min) cout<<"3个数字中的最小值是:t"<<min<<endl; else cout<<"3个数字中的最小值是:t"<<x3<<endl; else cout<<"3个数字中的最大值是:t"<<x3<<endl; cout<
57、;<"3个数字中的最小值是:t"<<min<<endl; X=(x1+x2+x3)/3; return X; float Average2(float y1,float y2,float y3) float max,min,Y; if(y1>y2) max=y1; min=y2; else max=y2; min=y1; if(max>y3) cout<<"3个数字中的最大值是:t"<<max<<endl; if(y3>min) cout<<"3个数
58、字中的最小值是:t"<<min<<endl; else cout<<"3个数字中的最小值是:t"<<y3<<endl; else cout<<"3个数字中的最大值是:t"<<y3<<endl; cout<<"3个数字中的最小值是:t"<<min<<endl; Y=(y1+y2+y3)/3; return Y; /第七题(符合书上要求) #include<iostream.h> int
59、 IMax,IMin,X; float FMax,FMin,Y; void Average1(int,int,int); void Average2(float,float,float); void main() int a1,a2,a3; float b1,b2,b3; int N; cout<<"您要输入的3个数字是否全为整型或浮点型?"<<endl<<"请按情况选择您要输入的3个数的类型的序号:" <<endl; cout<<"t1. 3个数字全为整型!"<<
60、;endl<<"t2. 3个数字全为浮点型!"<<endl<<"t3. 3个数字整型、浮点型均有!"<<endl; cin>>N; while(N!=1&&N!=2&&N!=3) cout<<"您选择有误,请重新选择:"<<endl; cin>>N; if(N=1) cout<<"请输入3个数字(数字间用空格键隔开):"<<endl<<"t&q
61、uot; cin>>a1>>a2>>a3; Average1(a1,a2,a3); cout<<"3个数字中的最大值是:t"<<IMax<<endl; cout<<"3个数字中的最小值是:t"<<IMin<<endl; cout<<"3个数字的平均值是:t"<<X<<endl; else cout<<"请输入3个数字(数字间用空格键隔开):"<<endl<<"t" cin>>b1>>b2>>b3; Average2(b1,b2,b3); cout<<"3个数字中的最大值是:t"<<FMax<<endl; cout<<"3个数字中的最小值是:t"<<FMin<&l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人事行政培训与组织文化考核试卷
- 公共设施物业与租赁管理考核试卷
- 电池制造行业环保措施研究考核试卷
- 新能源在科研与创新领域中的应用与创新考核试卷
- 健康科技在应急救援中的实践与经验分享考核试卷
- 公路运输技术与设备创新考核试卷
- 游乐园基础设施建设与设备维护考核试卷
- 污水处理中的工艺与应用探索考核试卷
- 危险品管理的品牌塑造与营销考核试卷
- 家庭会议课件教学课件
- 2024年鄂尔多斯市国资产投资控股集团限公司招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 校企共建实验室方案
- 2024年电商直播行业现状及发展趋势研究
- 2021年4月自考04735数据库系统原理试题及答案含解析
- MOOC 管理学原理-东北财经大学 中国大学慕课答案
- 农贸市场食品安全事故处置方案
- 六年级语文总复习课《修改病句》修改课件市公开课一等奖省赛课获奖课件
- (2024年)部队战备教育教案x
- 《焚烧烟气净化产物资源化利用 工业用盐》编制说明
- 《交互设计》课件
- 怀孕的hcg验血报告单
评论
0/150
提交评论