【精品】C--上机作业答案讲解
资料内容仅供您学习参考.如有不当之处请联系改正或者删除c上机作业答案讲解第一章作业答案1 编写程序,将华氏温度转化为摄氏温度:公式:C=(5/9)*(F-32)程序代码:#include<iostream>using namespace std;void main()float F,C;cout«HPlease input F:H;cin»F;C=5*(F-32)/9.0;cout«nC=H«C«endl;运行结果:2编写程序,输入圆柱体的半径r和高h,计算圆柱体的体积。程序代码:#include<iostream>using namespace std;#define PI 3.14159void main()float r,h,v;资料内容仅供您学习参考.如有不当之处.请联系改正或者删除2资料内容仅供您学习参考.如有不当之处请联系改正或者删除cout«nPlease input r h:'1;cin»r»h;v=PI*r*r*h;cout«nv=M«v«endl;运行结果:3输入三角形的三条边a,b,c,利用海伦公式计算三角形的面积area.若 则area=程序代码:#include<iostream>#include<math.h>using namespace std;void main()float a,b,c,p,area;cout«HPlease input a b c:11;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«Harea=H«area«endl;else cout«ninput error!n«endl;运行结果:4输入a,b,c的值,求一元二次方程: 的解。程序代码:#include<iostream>#include<math.h>using namespace std;void main()float a,b,c,p,xl,x2;cout«nPlease input a b c:H;cin»a»b»c;p=b*b-4*a*c;if(p>=0)x 1 =(-b+sqrt(p)/(2*a);x2=(-b-sqrt(p)/(2*a);cout«Hx 1 =u«x 1 «endl;cout«Hx2=H«x2«endl;else cout«nNO real root!11;运行结果 第二章作业答案1. 输入一个整数,计算该数的阶乘。程序代码:#include<iostream>using namespace std;void main()int i,n,p=l;cin»n;for(i=l;i<=n;i+)p=p*i;cout«n«M !=n«p«endl;运行结果:2. 连续输入若干个整数,输入0结束。统计其正整数的个数,并计 算其中正整数的总和、平均值并输出。程序代码:#include<iostream>using namespace std;void main()int a, n=0;资料内容仅供您学习参考.如有不当之处.请联系改正或者删除#资料内容仅供您学习参考.如有不当之处请联系改正或者删除float avg, sum=0;docin»a;if(a>0)n+;sum+=a;while(a!=0);avg=sum/n;cout W"«nendl;coutavg二"avg«endl;cout«sunF"«sum«endl;3. 输出所有的水仙花数。所谓“水仙花数”是一个三位数,其各位数字的立方和等于该数本身。如153=13+53+33程序代码:#include<iostream>using namespace std;void main()int a, 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<<n<<endl;运行结果:第三章作业答案1. 编写程序输出两个数的最大公约数和最小公倍数。2. 计算100300之内所有素数的和。3. 计算 s=l-l/3+l/5-l/74l/994. N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是 321),求N的值。第一题:程序代码:用辗转相除法求最大公约数;#include<iostream>using namespace std;void main()int m,n,r,temp;cin»m»n;temp=m*n;while(r=m%n)m=n;n=r;cout«"最大公约数=” vvn vvendl;cout«n 最小公倍数=n«temp/n«endl;运行结果:第二题:程序代码:#include<iostream>using namespace std;void main()int n4s=0;for(n=100;n<300;n+)for(i=2;i<n;i+)if(n % i=0)break;if(i=n)s+=n;cout« Hs=!,«s«endl;运行结果:Ztajr *第二题:资料内容仅供您学习参考.如有不当之处.话联系改正或者删除#资料内容仅供您学习参考.如有不当之处请联系改正或者删除程序代码:#include<iostream> using namespace std; void main() int n=l;float s=0?f=l,p;for(n=l;n<100;n+=2)p=f7n;s=s+p;f=-f;cout« Hs=f,«s«endl;运行结果:第四题:程序代码:#include<iostream>using namespace std;void main()int n,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«n«endl;运行结果:第四次作业答案1. 编写两个函数,分别计算两个整数的最大公约数和最小公倍 数,并在主函数中调用该函数,并输出结果。2. 编写一个判断素数的函数,函数原型为:int isprime(int n),在主 函数中调用该函数,计算100-1000之间所有素数的和。3. 编写一个函数,f(n)=,并在主函数中输出f(10)的值。(说明自然对数In的函数原型为double log(float x).4. 编写一个计算阶乘的函数,函数原型为int fac(int n),在主函数中 调用该函数,计算:S=M!+N!.第一题:程序代码:#include<iostream>using namespace std;求最大公约数int gcd(int m,int n)int r;while(r=m%n)m=n;n=r;return n;求最小公倍数int lcd(int mint n)return m*n/gcd(m,n);void main()int a,b;cin»a»b;cout«"最大公约数为:n«gcd(a,b)«endl;cout«"最小公倍数为:n«lcd(a,b)«endl;运行结果:第二题:程序代码:#include<iostream>using namespace std;判断素数的函数,若n为素数,函数返回1,否则返回0;int isprime(int n)inti;for(i=2;i<n;i+)if(n%i=0)return 0;return 1;void main()int i,s=0;for(i=100;i<1000;i+)if(isprime(i)s=s+i;cout«"s=H«s«endI;运行结果:第三题:程序代码:#include<iostream>#include<math.h>using namespace std;double f(int n)inti;double s=0;for(i=2;i<=n;i+)s=s+log ;return sqrt(s);void main()cout«f( 10)«endl;运行结果:第四题:程序代码:#include<iostream>using namespace std;用递归编写计算阶乘的函数int fac(int n)jf(n=Olln= 1 )return 1;else return n*fac(n-l);void main()int M,N,s;cin»M»N;s=fac(M)+fac(N);cout«M«n !+n«N«n !=n«s«endl;运行结果:第五章第六次上机内容1、定义一个3行4列的数组,计算所有数据的平均值,并输出最大值和最小值和它的行号和列号。2、编写程序,实现一个一维数组的反序存放。3、用选择排序法实现10整数由小到大排序。4、用冒泡法实现10整数由大到小排序。程序代码:#include<iostream.h> void main()资料内容仅供您学习参考.如有不当之处.话联系改正或者删除#燼遊号嚅站涪谕世七燃冰目对HllpeIN-净娥探氷01E遇咄注罪 ¥ 里 3=411=12025910 丈 14820=6 丈 309229521=; inf i J9m3>r-max9min;maxuminu 旦 0=01 jmunuo;for(H0;i<3;+)for(j"0;jA4;j+)if(asEvmaxMmaxufi9【i£汁 ml!.;ndl.j else if(amuAmin)亠 minHamE;kHi=d!.;) couiAC 二 maxu 二 ccmaxccendl;cou 穴A-4l4tn"AcmcA.utn" X A As A Asa-cou 穴八二 minu 二 ccmin«endl;COU 穴八二41血”二 AAAA 二如”二 AA-«end_ 一sndudeciosfream.hvdefine N 6void maB-o(im 里 nh(1291®2092193®25);ini E;