第四章课后编程题答案//编写一个函数,计算直角坐标系中点a(x0,y0)到点b(x1,y1)的距离。#include<>#include<>floatlength(floatx0,floaty0,floatx1,floaty1)//求两点距离的子函数{ returnsqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));;}voidmain(){ floatx0,x1,y0,y1; cout<<"Inputxandyofapoint:"; cin>>x0>>y0; cout<<"Inputxandyofbpoint:"; cin>>x1>>y1; cout<<"Thelengthfromatobis"<<length(x0,y0,x1,y1)<<endl;}//求a!+b!+c!的值,其中求n!要用一个函数实现,通过主函数输入a、b和c的值,并在主函数中输出计算的结果。#include<>intfactorial(intn)//求两点距离的子函数{ intsum=1; for(inti=1;i<=n;i++) sum*=i; returnsum;}voidmain(){ inta,b,c; cout<<"Inputa,b,c:"; cin>>a>>b>>c; cout<<"a!+b!+c!="<<factorial(a)+factorial(b)+factorial(c)<<endl;}//编写一个函数。该函数读入一个整数,并判断这个整数是否为一个回文数字。例如4,44,434,4334,43534都是回文数字。#include<>boolpalindrome(intn)//判断n是否为回文的子函数{ inta[20]; intm=n; inti=0; inttemp,num; while(m>0)//将数字的各位反向放置在数组a中 { a[i]=m%10; m=m/10; i++; } temp=i/2;//需要比较的次数 num=--i;//数字的最高位存储在a[num]中 for(intj=0;j<temp;j++) { if(a[j]!=a[num-j])returnfalse;//如果出现不相等的情况立即退出 } returntrue;//若比较的各个位置都相等,则为回文}voidmain(){ intnumber; cout<<"Inputthenumber:"; cin>>number; if(palindrome(number)) cout<<number<<"isapalindrome."<<endl; else cout<<number<<"isnotapalindrome."<<endl;}//编写一个程序,为选修3、4和5门课程的学生计算平均分,其中求平均分要用重载函数实现#include<>floataverage(floata,floatb,floatc)//求三门课程平均分子函数{ return(a+b+c)/3;}floataverage(floata,floatb,floatc,floatd)//求四门课程平均分子函数{ return(a+b+c+d)/4;}floataverage(floata,floa
第四章课后编程题答案 来自淘豆网www.taodocs.com转载请标明出处.