C上机作业答案讲解.docx
- 文档编号:3063092
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:27
- 大小:21.43KB
C上机作业答案讲解.docx
《C上机作业答案讲解.docx》由会员分享,可在线阅读,更多相关《C上机作业答案讲解.docx(27页珍藏版)》请在冰豆网上搜索。
C上机作业答案讲解
第一章作业答案.
1.编写程序,将华氏温度转化为摄氏温度:
公式:
C=(5/9)*(F-32)
程序代码:
#include
usingnamespacestd;
voidmain()
{floatF,C;
cout<<"PleaseinputF:
";
cin>>F;
C=5*(F-32)/9.0;
cout<<"C="< } 运行结果: 2.编写程序,输入圆柱体的半径r和高h,计算圆柱体的体积。 程序代码: #include usingnamespacestd; #definePI3.14159 voidmain() {floatr,h,v; cout<<"Pleaseinputrh: "; cin>>r>>h; v=PI*r*r*h; cout<<"v="< } 运行结果: 3.输入三角形的三条边a,b,c,利用海伦公式计算三角形的面积area. 若则area= 程序代码: #include #include usingnamespacestd; voidmain() {floata,b,c,p,area; cout<<"Pleaseinputabc: "; cin>>a>>b>>c; if((a+b>c)&&(b+c>a)&&(a+c>b)) {p=(a+b+c)/2.0; area=sqrt(p*(p-a)*(p-b)*(p-c)); cout<<"area="< } elsecout<<"inputerror! "< } 运行结果: 4.输入a,b,c的值,求一元二次方程: 的解。 程序代码: #include #include usingnamespacestd; voidmain() {floata,b,c,p,x1,x2; cout<<"Pleaseinputabc: "; cin>>a>>b>>c; p=b*b-4*a*c; if(p>=0) {x1=(-b+sqrt(p))/(2*a); x2=(-b-sqrt(p))/(2*a); cout<<"x1="< cout<<"x2="< } elsecout<<"NOrealroot! "; } 运行结果 第二章作业答案 1.输入一个整数,计算该数的阶乘。 程序代码: #include usingnamespacestd; voidmain() {inti,n,p=1; cin>>n; for(i=1;i<=n;i++) p=p*i; cout< ="< } 运行结果: 2.连续输入若干个整数,输入0结束。 统计其正整数的个数,并计算其中正整数的总和、平均值并输出。 程序代码: #include usingnamespacestd; voidmain() {inta,n=0; floatavg,sum=0; do {cin>>a; if(a>0){n++;sum+=a;} }while(a! =0); avg=sum/n; cout<<"n="< cout<<"avg="< cout<<"sum="< } 3.输出所有的水仙花数。 所谓“水仙花数”是一个三位数,其各位数字的立方和等于该数本身。 如153=13+53+33 程序代码: #include usingnamespacestd; voidmain() {inta,b,c,n; for(n=100;n<1000;n++) {a=n%10; b=n%100/10; c=n/100; if(n==a*a*a+b*b*b+c*c*c) cout< } } 运行结果: 第3章作业答案 1. 编写程序输出两个数的最大公约数和最小公倍数。 2. 计算100---300之内所有素数的和。 3. 计算s=1-1/3+1/5-1/7+…1/99 4.N是一个四位数,它的9倍恰好是其反序数(例如: 123的反序数是321),求N的值。 第一题: 程序代码: //用辗转相除法求最大公约数; #include usingnamespacestd; voidmain() {intm,n,r,temp; cin>>m>>n; temp=m*n; while(r=m%n) {m=n; n=r; } cout<<"最大公约数="< cout<<"最小公倍数="< } 运行结果: 第二题: 程序代码: #include usingnamespacestd; voidmain() {intn,i,s=0; for(n=100;n<300;n++) {for(i=2;i if(n%i==0)break; if(i==n)s+=n; } cout<<"s="< } 运行结果: 第三题: 程序代码: #include usingnamespacestd; voidmain() {intn=1; floats=0,f=1,p; for(n=1;n<100;n+=2) {p=f/n; s=s+p; f=-f; } cout<<"s="< } 运行结果: 第四题: 程序代码: #include usingnamespacestd; voidmain() {intn,a,b,c,d; for(n=1000;n<10000;n++) {a=n/1000;//千位 b=n%1000/100;//百位 c=n%100/10;//十位 d=n%10;//个位 if(9*n==d*1000+c*100+b*10+a) cout< } } 运行结果: 第四次作业答案 1. 编写两个函数,分别计算两个整数的最大公约数和最小公倍数,并在主函数中调用该函数,并输出结果。 2. 编写一个判断素数的函数,函数原型为: intisprime(intn),在主函数中调用该函数,计算100—1000之间所有素数的和。 3. 编写一个函数,f(n)=,并在主函数中输出f(10)的值。 (说明自然对数ln的函数原型为doublelog(floatx). 4. 编写一个计算阶乘的函数,函数原型为intfac(intn),在主函数中调用该函数,计算: S=M! +N! . 第一题: 程序代码: #include usingnamespacestd; //求最大公约数 intgcd(intm,intn) {intr; while(r=m%n) { m=n;n=r; } returnn; } //求最小公倍数 intlcd(intm,intn) {returnm*n/gcd(m,n); } voidmain() {inta,b; cin>>a>>b; cout<<"最大公约数为: "< cout<<"最小公倍数为: "< } 运行结果: 第二题: 程序代码: #include usingnamespacestd; //判断素数的函数,若n为素数,函数返回1,否则返回0; intisprime(intn) {inti; for(i=2;i if(n%i==0)return0; return1; } voidmain() {inti,s=0; for(i=100;i<1000;i++) if(isprime(i))s=s+i; cout<<"s="< } 运行结果: 第三题: 程序代码: #include #include usingnamespacestd; doublef(intn) {inti; doubles=0; for(i=2;i<=n;i++) s=s+log(i); returnsqrt(s); } voidmain() { cout< } 运行结果: 第四题: 程序代码: #include usingnamespacestd; //用递归编写计算阶乘的函数 intfac(intn) {if(n==0||n==1)return1; elsereturnn*fac(n-1); } voidmain() {intM,N,s; cin>>M>>N; s=fac(M)+fac(N); cout< +"< ="< } 运行结果: 第五章 第六次上机内容 1、 定义一个3行4列的数组,计算所有数据的平均值,并输出最大值和最小值和它的行号和列号。 2、 编写程序,实现一个一维数组的反序存放。 3、 用选择排序法实现10整数由小到大排序。 4、 用冒泡法实现10整数由大到小排序。 第一题: 程序代码: #include voidmain() {inta[3][4]={{12,6,25,10},{14,9,20,16},{30,22,5,21}}; inti,j,m,n,k,l,max,min; max=min=a[0][0]; m=n=0; for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]>max){max=a[i][j];m=i;n=j;} elseif(a[i][j] cout<<"max="< cout<<"行号: "< "< cout<<"min="< cout<<"行号: "< "< } 运行结果: 第二题: 程序代码: #include #defineN6 voidmain() {inta[N]={12,10,20,21,30,25}; inti,t; for(i=0;i {t=a[i];a[i]=a[N-i-1];a[N-i-1]=t;} for(i=0;i cout< co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机作业答案讲解 上机 作业 答案 讲解